2012-02-12 2 views
1

로그인 시스템을 만들고 잘못된 사용자 이름과 비밀번호가 주어지면 몇 분 동안 로그인을 시도하는 사람을 차단하여 4 번 말할 수 있습니다.제한된 로그인 시도

IP에서 차단하는 방법을 알고 있지만 예를 들어 블록을 만들 수 있습니다. 내가 온다면 학교 전체가. 이제 사용자가 액세스를 차단하기 위해 입력하는 사용자 이름을 사용할 수는 있지만 입력 한 사용자 이름이 데이터베이스에 존재하지 않을 가능성이 있습니다.

내 질문 : 존재하지 않는 사용자 이름을 입력 한 사람을 위해 해당 블록을 만들려면 어떻게해야합니까? 그리고 어떤 종류의 데이터베이스 테이블이 필요할까요?

또한 세션과 쿠키를 사용할 가능성을 찾았지만 사람들이 세션과 쿠키를 제거하기 위해 만들 수있는 보안 문제가 있습니다.

누군가가 나를 도울 수 있다면, 고맙겠습니다.

+1

나는 99 %의 유효성이있는 해결책을 찾으러 갈 것입니다. IP 주소로 차단하는 것은 많은 사용자 그룹을 차단할 수 있으므로 바람직하지 않습니다. 게다가 누군가가 원하는 경우 자신의 IP 주소를 스푸핑 할 수 있습니다. 사용자 이름에 의한 차단은 누군가가 특정 사용자에 대한 암호를 추측하려 할 때만 효과적입니다. 세션/쿠키는 최종 사용자가 쉽게 삭제할 수 있습니다. 몇 가지 방법의 조합을 사용하는 것이 좋습니다 : 로그인 시도가 N 번 실패한 후에 사용자 이름을 잠그고 사용자가 사용할 수있는 정도의 세션을 사용하고 많은 시도 후에 IP 주소를 차단할 수 있습니다. –

답변

2

나는 당신이 자신의 사용자 이름을 잊어 버린 가난한 남편보다는 무차별 공격에서 벗어나려고 노력하고 있다고 생각합니다.

어려운 CAPTCHA 메커니즘을 구현하여 대부분의 자동화 된 공격을 막을 수 있습니다. 특정 IP 주소의 시도 횟수와 그 연속 시도 간격을 동시에 유지합니다. 공격으로 CAPTCHA를 해결할 수 있다면 몇 분 안에 비정상적인 활동을 감지하고 전체 IP에 대한 액세스를 차단할 수 있습니다. 잠시 동안 전체 조직을 오프라인으로 만들지 만, 심각한 공격으로 인해 정전을 경험하지 못하게 할 수 있습니다.

대부분의 무차별 공격 시스템이 모든 요청에 ​​대해 새로운 쿠키를 생성하고 생성하므로 세션 및 쿠키가 도움이되지 않습니다.

+0

팁을 Thnks. 나는 그것을 조사 할 것이다. 이 문제에 대한 좋은 해결책 인 것 같습니다 :) – Controvi

+0

도움이되기를 기원합니다! – Nirmal

관련 문제