php+jquery+captcha,这是正确的方法吗?

发布于 2024-09-04 14:31:32 字数 361 浏览 4 评论 0原文

我使用 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 中移动验证码验证以使其更安全?还有其他更安全的方法吗?

普拉尚特

I am using combination of php+jQuery for captcha validation and later sending mails and do other stuff. The pseudo code is something like this:

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

Now I have no idea whether spammers can directly execute the "send_mail_using_php_script". Do they? If yes, then shall I move captcha validation in send_mail_using_php_script to make it more safer? Is there any other safer method?

Prashant

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

海螺姑娘 2024-09-11 14:31:32

验证应该在服务器端完成。虽然通过默默无闻的安全性可以很好地抵御垃圾邮件机器人,但客户端上的任何内容都是公平的游戏。

而在客户端“验证”的验证码就达不到目的。

The validation should be done server side. While security through obscurity works ok against spam bots, anything on the client is fair game.

And a captcha "validated" on the client side defeats the purpose.

你列表最软的妹 2024-09-11 14:31:32

对于验证码来说,重要的是验证是在服务器上进行的。
这是要记住的最重要的部分。

Important for Captcha is that validation takes place on the server.
That's the most important part to keep in mind.

但可醉心 2024-09-11 14:31:32

您在服务器端验证实际的验证码,但在客户端验证结果并指示发送邮件。这是错误的。 JavaScript/jQuery 在客户端计算机上运行,​​最终用户可以按照他/她喜欢的方式进行修改。例如,最终用户可以删除 if 语句或使其始终评估 true 并重新执行代码。

您需要在处理表单提交期间指示在服务器端发送邮件。

You're validating the actual captcha at the server side, but you're validating the result and instructing to send the mail in the client side. This is wrong. JavaScript/jQuery runs at the client machine and can be modified by the enduser the way s/he like. The enduser can for instance remove the if statement or make it always evaluate true and reexecute the code.

You need to instruct to send the mail at the server side, during processing of the form submit.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文