2014-01-05 2 views
1

내 등록 양식에는 입력 초점에 대한 이메일과 사용자 이름에 대한 ajax db 조회가 있습니다. . 그게 나쁜 생각이야? 왜? 또한 사용자 조회가 허용 된 조회의 경우 잠금을 설정할 계획입니다.사전 양식 제출 DB 조회가 잘못 되었습니까?

+0

이 질문은 보안과 관련되어 있으며 [Security.SE] (http://security.stackexchange.com)에 속해 있기 때문에 주제가 아닌 것으로 보입니다. – Gumbo

+0

@Gumbo 저는 이것에 대한 일반적인 대답을 찾고 있습니다. 그것의 좋건 나쁘 든, 그것을 사용하는 단점이라면, 웹 보안의 관점에서뿐만 아니라. –

답변

2

아니요, 좋지 않은 생각입니다. 반대로 전자 메일이 이미 사용되었다는 것을 사용자에게 알리기 위해 전체 양식을 제출해야하는 경우와 비교하여 사용자 환경을 개선하고 대역폭 사용량을 줄입니다. 모든 주요 웹 사이트에서이 작업을 수행합니다. 예를 들어 구글의 등록 양식 보자 https://accounts.google.com/SignUp?continue=https%3A%2F%2Fwww.google.com%2F&hl=en

+0

그래, 실제로 다른 사용자가 더 큰 웹 사이트에 그 기능을 가지고 있기 때문에 나는 또한 사용자를 위해 그렇게하고있다. 단점이 있습니까? –

+0

단점이 있다고 생각하지 않습니다. –

0

이것은 User Enumeration 취약점으로 이어질 수 - 공격자가 쉽게 무력을 통해 시스템에서 사용자 이름과 이메일 주소 또는 사용자 이름과 이메일 주소의 또 다른 목록을 테스트하여 알려진 목록을 수확 할 수 즉, 활성 사용자인지 확인하십시오.

잠금을 추가했는데 어떤 기준으로 시도한 사용자 조회 수가 결정됩니까? 공격자가 단순히 쿠키를 삭제하거나 새 세션을 시작할 수 있기 때문에 쿠키 또는 세션별로 그룹화하는 것은 안전하지 않습니다. IP가 더 좋은 방법입니다 (예 : 30 분당 고유 IP 당 10 개의 조회 허용).하지만 공격자가 분산 공격을 사용할 수 있으므로이 방법을 권유 할 수 있습니다.

시스템에 문제가있는 경우 더 안전한 방법으로 내 answer here을 참조하십시오. 여기에는 사용자가이 주소로 보낸 링크로 등록 프로세스를 계속할 양식에만 전자 메일 주소를 입력하는 작업이 포함됩니다. 첫 번째 단계로이 작업을 수행했다면 다음 단계에서이 사용자가 시도한 사용자 이름을 알 수 있습니다. 그러면이 조회가 입력 된 전자 메일 주소와 연결되므로 고유 한 사용자 이름 조회 수를 제한 할 수 있습니다 이메일. 이로 인해 공격자가 사용자 이름을 열거하고 이메일 주소를 열거하는 것이 거의 불가능 해집니다.