我正在使用php + jQuery的组合进行验证码验证,然后发送邮件并执行其他操作。伪代码是这样的:
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中移动验证码验证,以使其更安全吗?还有其他更安全的方法吗?
PRASHANT
答案 0 :(得分:1)
验证应该在服务器端完成。虽然通过默默无闻的安全性可以抵御垃圾邮件机器人,但客户端上的任何内容都是合理的游戏。
客户端的验证码“验证”失败了。
答案 1 :(得分:0)
Captcha的重要之处在于验证发生在服务器上。 这是要记住的最重要的部分。
答案 2 :(得分:0)
您正在验证服务器端的实际验证码,但您正在验证结果并指示在客户端发送邮件。这是错的。 JavaScript / jQuery在客户端机器上运行,并且可以由最终用户以他/她喜欢的方式进行修改。例如,最终用户可以删除if
语句或使其始终评估true
并重新执行代码。
在处理表单提交期间,您需要指示在服务器端发送邮件。