2013-02-15 2 views
0

내 웹 사이트에 3D CAPTCHA을 구현 중입니다.세션에서 여러 CAPTCHA 솔루션 저장

필자의 원래 아이디어는 세션 변수에 예상되는 captcha 솔루션을 저장하는 것이 었습니다. 사용자가 양식을 제출 한 후 양식을 응답과 비교합니다.

사용자가 내 웹 사이트를 여러 탭에서 열어도 어떻게됩니까? 각 탭에 대해 새로운 CAPTCHA 챌린지가 생성되고 세션의 예상 응답 변수를 덮어 씁니다.

이제 사용자가 "이전"탭에서 양식을 제출한다고 가정합니다. 세션의 예상 응답 변수가 겹쳐 쓰여지기 때문에 테스트를 통과하지 못합니다.

걱정해야합니까? 어떻게 처리하겠습니까?

+0

걱정하지 마십시오. 페이지 요청이 발생한 곳 (다른 탭? 다른 창?)을 안정적으로 식별 할 수 없습니다. 대부분의 사람은 "이전"창에서 captcha가 설정을 덮어 썼기 때문에 단순히 "이전"창에서 실패 할 것입니다. 그들은 다른 captcha를 적재하고 떨어져 나온다. –

+0

@MarcB : 감사합니다. 단지 나쁜 습관이 아니 었는지 확인하고 싶었습니다. – packet

답변

0

일반적으로 captchas에 대한 일반적인 접근 방법이며 때로는 유효성을 검사하지 않는 이유입니다.

이 당신은 그러나 배열을 대신 추가하고 대답은 배열에 존재하는지 볼 수있는 보안 문자

를 사용하지 않는 이유 goood이 http://www.sitepoint.com/captcha-inaccessible-to-everyone/을 읽을 수있다. 당신이 사용하고있는 언어가 없다면 어떤 코드를 제공 할 수 있습니다.

+0

php에 대한 세션에서 배열 저장 : http://www.phpriot.com/articles/intro-php-sessions/7 –

+0

파이썬과 장고를 사용하고 있습니다. 어쨌든, 저는 게으 르기 때문에 @MarcB가 제안한 것과 함께 할 것입니다. 내가 링크 한 기사를 읽었습니다. 불행히도 CAPTCHA 대안을 제안하지 않습니다. – packet

+0

대안 : 텍스트 봇을 포함해서는 안되는 입력을 추가 (보이지 않음) 할 수있는 경우가 종종 있습니다. 그게 효과가 있다면 그것은 확실히 사용자가 더 쉽습니다. 보조 사용자 http://www.projecthoneypot.org/ 죄송합니다. python에는별로 좋지 않지만, 문제의 해결책에 가까워 보이는 것 같습니다. http://www.djangofoo.com/57/ 세션 - arraylist - 추가 - 않습니다 - 작동하지 않습니다 –