CAPTCHA存储在会话中?

时间:2014-05-24 01:22:20

标签: php forms session random

我制作了简单的联系表格并防止垃圾邮件,我不得不使用验证码。 当然我认为使用图像或者这些奇怪的几乎不是不可能阅读字母只是让用户或我烦恼。

所以我所做的只是随机创建的数字并存储在会话中:

if(!isset($_SESSION['var_answer']))
{
    $_SESSION['var_answer'] = rand (1, 100);
}

然后要求用户输入此号码,当用户提交表格时,我的代码会检查之前创建并存储在会话中的随机数是否与用户输入的号码匹配并发送表格,然后会话未设置,我们还有另一个随机数。

一点都安全吗?或者这种方式无法防范垃圾邮件?

2 个答案:

答案 0 :(得分:0)

我甚至无法说如果它无用,但我在我的项目中做的是使用第三方工具/软件(这么多)用于验证码或以随机文本/数字生成它并将其制作成图像防止机器人发送垃圾邮件我甚至不打算将它们存储到会话中。

答案 1 :(得分:0)

我认为对于随机浏览网页的一般垃圾邮件机器人来说这是安全的。但是,如果您是垃圾邮件制造者的目标,它将专门为您的网站编写机器人,那么,它可以将您的解析中的数字包含在请求中并将其放入请求中。

您可以使用该数字构建一个简单的图像,这可能会使垃圾邮件发送者更难。