2011-03-07 2 views
0

나는 CAPTCHA가 보호하는 익명의 게시가 허용 된 포럼을 운영 중입니다. 사용자 편의를 위해 약 1 개월 동안 지속되는 사용자를 위해 쿠키를 설정하므로 사용자는 보안 문자를 반복해서받지 못합니다. 가장 간단한 형태로 쿠키는 no_captcha_for_one_month이고 값은 1입니다. 사용자가 익명으로 반환하고 게시하면 보안 문자가 표시되지 않습니다.사용자가 CAPTCHA를 일시적으로 고정하게 만드시겠습니까?

결함을 본 사람이 있습니까? 포럼 스패머는 CAPTCHA를 올바르게 한 번만 채우고 자신의 봇에 대한 쿠키 정보를 사용하면됩니다.

나는 창조적이고 서버 사이드 해시를 사용하는 것에 대해 생각했다. 사용자 IP 주소와 쿠키 값을 생성하는 비밀 소금을 사용하지만 물론이 IP 주소에도 유효합니다.

누군가 나는 어리석은 질문을 받고 나도 해결할 수없는 것을 해결하려고 노력합니다.

답변

1

이러한 솔루션을 사용하면 항상 봇용 쿠키를 사용할 수 있습니다. 아무리 노력해도.

+0

내가 항상 생각하고있는 것에 밑줄을 치기 때문에 나는이 대답을 받아들입니다. 실제 해결책은 없습니다. – mark

2

귀하의 쿠키 값 + 소금 구현을 구현하는 것이 귀하의 문제를 해결하는 것이 아니라 보안상의 이유로 권장됩니다. 이 blog post에 의해 설명 된 바와 같이, 워드 프레스는 쿠키 보안이 좋지 않아 문제가 훨씬 더 심각하지만 비슷합니다. 귀하의 경우 쿠키가 만료 되더라도 결정된 스팸 발송자가 귀하의 보안 문자를 무시할 수 있습니다.

제안 된 문제를 해결하기 위해 내 마음에 오는 유일한 해결책은 사용자가 스팸성으로 느껴질 때 새로 보안 쿠키를 무시하는 강제 CAPTCHA 알고리즘을 구현하는 것입니다. 내 머리 꼭대기에서 마지막 게시물 이후 시간, 오늘 게시물 수, 양식에 메시지를 작성하는 데 걸린 시간 등의 속성을 사용합니다.

편집 : 먼저 제출 된 링크에 rel = "nofollow"속성을 구현하여 스패머에게 매력을 느끼게합니다. Wikipedia을 참조하십시오.

+0

rel = "nofollow"정보 : 이미 그렇게하고 있습니다. 어쨌든 고마워요. – mark

0

아래와 같이 브라우저에서 쿠키를 쉽게 가져 와서 봇 코드에 붙여 넣을 수 있으므로 솔루션이 강력하지 않습니다.

다른 솔루션 :

  • 이 포럼에서 많은 게시 일부 사용자를 찾아 그들이 자원 봉사 사회자 될 경우 요청합니다. AutoHotkey 사람 같이 공개 토론은이 체계를 이용하고, 이것은 잘 작동한다. 스팸 발송자는 검토가 빠르고 효율적으로 이루어지는 적극적인 포럼을 피하는 경향이 있습니다. 그들은 죽은 포럼을 선호합니다 ...
  • IP 주소 당 익명 게시물의 수를 제한하십시오. 사용자에게는 성가신 일이지만 스팸 범람은 피할 수 있습니다. 이러한 홍수가 발생했을 때만 설치해야합니다.
0

쿠키를 사용하고 있기 때문에 스패머는 보안 문자를 한 번만 사용하지 않아도됩니다. 쿠키는 클라이언트에 의해 변경 될 수 있으며 브라우저가 페이지 요청과 함께 전송하므로 클라이언트는 원하는대로 보낼 수 있습니다. 실제로 스팸 요청은 스크립트에서 발생하므로 쿠키를 제작하는 것이 더 쉽습니다.

가변 서버 사이드 씰을 저장하면 내가 언급 한 문제를 해결할 수 있습니다. 무작위 해시를 쿠키로 설정하고 서버에 보안 문자 상태를 저장하는 테이블이 있어야합니다. 스패머가 CAPTCHA를 얻지 못하게하려면 서버 측에 올바른 변수가 저장된 해시를 추측해야합니다. shich는 매우 어렵습니다.

언급 한 문제; 한 달에 한 번 스패머를 막을만큼 길지 않을 수도 있습니다. 모든 실제 사용자에게 보안 문자를 표시해야합니다. 스팸 발송자가 원하는대로 입력해야합니다. 스패머에게 일반 사용자를 알릴 수 없기 때문에 보안 문자가 필요하다는 것을 기억하십시오.

CAPTCHA 쇼를 자주 열어야합니다. 사람들이 어쨌든 가입하도록 유도해야합니다.

0

암호화 (피코 또는 나노 초) 시간 & 모든 페이지 &에가 일치하는지 확인하는 열 이름 '해쉬'

세트 데이터베이스에서 설정) (a 입력 값으로 설정할 DB.

관련 문제