내 등록 양식에는 입력 초점에 대한 이메일과 사용자 이름에 대한 ajax db 조회가 있습니다. . 그게 나쁜 생각이야? 왜? 또한 사용자 조회가 허용 된 조회의 경우 잠금을 설정할 계획입니다.사전 양식 제출 DB 조회가 잘못 되었습니까?
답변
아니요, 좋지 않은 생각입니다. 반대로 전자 메일이 이미 사용되었다는 것을 사용자에게 알리기 위해 전체 양식을 제출해야하는 경우와 비교하여 사용자 환경을 개선하고 대역폭 사용량을 줄입니다. 모든 주요 웹 사이트에서이 작업을 수행합니다. 예를 들어 구글의 등록 양식 보자 https://accounts.google.com/SignUp?continue=https%3A%2F%2Fwww.google.com%2F&hl=en
그래, 실제로 다른 사용자가 더 큰 웹 사이트에 그 기능을 가지고 있기 때문에 나는 또한 사용자를 위해 그렇게하고있다. 단점이 있습니까? –
단점이 있다고 생각하지 않습니다. –
이것은 User Enumeration 취약점으로 이어질 수 - 공격자가 쉽게 무력을 통해 시스템에서 사용자 이름과 이메일 주소 또는 사용자 이름과 이메일 주소의 또 다른 목록을 테스트하여 알려진 목록을 수확 할 수 즉, 활성 사용자인지 확인하십시오.
잠금을 추가했는데 어떤 기준으로 시도한 사용자 조회 수가 결정됩니까? 공격자가 단순히 쿠키를 삭제하거나 새 세션을 시작할 수 있기 때문에 쿠키 또는 세션별로 그룹화하는 것은 안전하지 않습니다. IP가 더 좋은 방법입니다 (예 : 30 분당 고유 IP 당 10 개의 조회 허용).하지만 공격자가 분산 공격을 사용할 수 있으므로이 방법을 권유 할 수 있습니다.
시스템에 문제가있는 경우 더 안전한 방법으로 내 answer here을 참조하십시오. 여기에는 사용자가이 주소로 보낸 링크로 등록 프로세스를 계속할 양식에만 전자 메일 주소를 입력하는 작업이 포함됩니다. 첫 번째 단계로이 작업을 수행했다면 다음 단계에서이 사용자가 시도한 사용자 이름을 알 수 있습니다. 그러면이 조회가 입력 된 전자 메일 주소와 연결되므로 고유 한 사용자 이름 조회 수를 제한 할 수 있습니다 이메일. 이로 인해 공격자가 사용자 이름을 열거하고 이메일 주소를 열거하는 것이 거의 불가능 해집니다.
이 질문은 보안과 관련되어 있으며 [Security.SE] (http://security.stackexchange.com)에 속해 있기 때문에 주제가 아닌 것으로 보입니다. – Gumbo
@Gumbo 저는 이것에 대한 일반적인 대답을 찾고 있습니다. 그것의 좋건 나쁘 든, 그것을 사용하는 단점이라면, 웹 보안의 관점에서뿐만 아니라. –