2013-10-31 1 views
0

과거에는 ASP.NET 페이지를 사용하여 로그인 페이지에서 사용자 이름과 비밀번호를 게시했습니다. 코드가 서버에 있고 보호되어 있으므로 사용자 이름과 암호가 사용자에게 표시되지 않았습니다. 이제 웹 사이트에 로그인하기 위해 페이지에서 팝업 div를 전환했습니다. 이 div에는 순수 HTML 만있는 iframe이 없습니다. 페이지를 다시로드하지 않고 인증하고 싶습니다. 분명히 div 안에있는 버튼은 Javascript 함수를 호출해야합니다. 이 시점에서, 나는 그들이 노출되어 있기 때문에 자바 스크립트에서 사용자 이름과 암호를 유지할 수 없기 때문에 내가 가진 유일한 대답은 AJAX 요청의 형태로 서버에 데이터를 보내는 것입니다. AJAX가 적절한 방법인가요? 해커가 수천 개의 AJAX 요청을 게시하고 사이트를 해킹하려고하는 것을 막으려면 무엇이 필요합니까?자바 스크립트를 사용하여 div에서 보안 로그인

감사합니다.

+0

해커가 그렇게하지 못하게하는 것은 없습니다. 보안 채널로 HTTPS를 사용하고 결코 서버 측에서 인증을 덜하십시오. 클라이언트에서만 수행되는 모든 작업은 더 안전하지 않습니다. – schlingel

+0

HTTPS를 사용하는 경우 브라우저에서 개발자 도구를 열어 코드를 실행할 수 있습니까? 감사합니다 – wayofthefuture

+0

물론입니다. 아니면 컬을 사용하거나 공격자의 거대한 공구 벨트에서 다른 도구를 사용하십시오. 문제는 게시 한 모든 내용이 서비스로 시작하기 싫어하는 사람들에게 공개된다는 것입니다. 그러나 고객을 얻으려면 인터넷에 연결하거나 시청하는 동안 PC를 사용하게하십시오. – schlingel

답변

1

예, AJAX 요청을 수행합니다. 당신은 그것을 아주 쉽게 만드는 jQuery AJAX를 사용하고 싶다.

수천 가지 공격을하는 사람을 보호하려면 가장 좋은 방법은 지정된 시간 내에 동일한 IP 주소에서 주어진 수의 요청 만 허용하는 것입니다. 물론 이것은 서버 측에서 수행됩니다.

또한 자격 증명 검사를위한 스크립트를 매우 느리게 만들므로 시도를 통해 웹 사이트를 쉽게 망칠 수 있습니다. 스크립트에 3-5 초의 시간을 넣으면 많은 시간이 걸릴 것입니다. 그러나 물론 누군가가 많은 웹 사이트에 번을 시도하면 다른 보안 조치 없이는 큰 효과가 없을 수도 있습니다.

+0

감사합니다. IIS에 기본적으로 최대 요청 제한이 있는지 알고 있습니까? – wayofthefuture

+0

요청을 서버로 보내지 못하도록 HTTPS를 할 수 있다고 생각했지만 컴퓨터에서 개발자 도구를 열고 SSL을 통해 브라우저를 통해 코드를 실행하기 시작할 수 없습니까? 감사합니다. – wayofthefuture

+0

그렇습니다. 그러나 DOS 공격을위한 더 나은 도구가있을 때 브라우저를 사용하여 귀찮은 이유는 무엇입니까? – schlingel

관련 문제