2010-06-08 2 views
0

나는 captcha 검증을 위해 php + jQuery를 조합하고 나중에 메일을 보내고 다른 것들을하고있다. php + jquery + captcha, 이것이 올바른 방법입니까?

captcha_code = jQuery.post(.....execute captcha script and get status) 
if(captcha_code == "correct"){ 
    send_mail_using_php_script; 
} 

가 지금은 스패머가 직접 "send_mail_using_php_script"를 실행할 수 있는지 여부를 몰라 ​​: 의사 코드는 다음과 같은 것입니다. 그들은 할? 그렇다면 send_mail_using_php_script에서 captcha 유효성 검사를 이동시켜보다 안전성을 높여야합니까? 더 안전한 방법이 있습니까?

프라 샤트

+0

미리 패키지화 된 보안 문자 솔루션을 사용한 경우이를 수행하는 방법에 대한 예제가 없습니까? 어떤 보안 문자를 사용하고 있습니까? –

답변

0

보안 문자에 대한 중요성은 서버에서 유효하다는 것입니다. 명심해야 할 가장 중요한 부분입니다.

1

유효성 검사는 서버 측에서 수행해야합니다. 모호함을 통한 보안은 스팸 봇에 잘 작동하지만 클라이언트의 모든 것은 공정한 게임입니다.

그리고 클라이언트 측에서 "유효성이 확인 된"captcha는 그 목적을 이깁니다.

+0

사용자 지정 captcha 스크립트를 사용하고 있습니다. 서버 측에서 무엇을 의미합니까? 나는 웹 프로그래밍에 익숙하지 않으므로 나와 함께 인내심을 가져주십시오. – user354051

+0

서버 측에서는이 경우 PHP 처리기를 의미합니다. 유효한 보안 문자 응답을 제출하지 않으면 메일을 보내는 스크립트가 실행되어서는 안됩니다. 웹 개발의 첫 번째 규칙은 사용자 입력을 신뢰하지 않는 것입니다. 자바 스크립트에서 클라이언트 측에서 유효성을 검사하면 누군가 코드를 수정하고 스팸 디스펜서로 전환하는 것을 막지 않습니다. – user358390

0

서버 측에서 실제 captcha의 유효성을 검사하고 있지만 결과를 확인하고 클라이언트 측에서 메일을 보내도록 지시하고 있습니다. 이것은 잘못된 것입니다. JavaScript/jQuery는 클라이언트 컴퓨터에서 실행되며 최종 사용자가 원하는대로 수정할 수 있습니다. 최종 사용자는 예를 들어 if 문을 제거하거나 항상 true을 평가하고 코드를 다시 실행하게 할 수 있습니다.

양식 제출 처리 중에 서버 측에서 메일을 보내도록 지시해야합니다.

+0

"send_mail_using_php_script"에서 captcha 유효성 검사를 이동하면 어떻게됩니까? 입력에 입력 한 보안 문자 코드와 전자 메일 주소를 스크립트에 전달합니다. 첫 번째 스크립트는 captcha의 유효성을 검사하고 올바른지 확인한 후 메일을 보냅니다. 나는이 두 가지가 서버 측에서 일어나고 있다고 생각합니다. 나 맞아? – user354051

+0

네, 맞습니다. – BalusC