【发布时间】:2011-11-25 13:47:49
【问题描述】:
我在我的 PHP 表单中使用验证码图像验证器。该表单使用 cookie 来检查用户输入的验证码。除了使用 cookie 之外,还有其他方法吗?
【问题讨论】:
-
是的。还有其他问题吗?
我在我的 PHP 表单中使用验证码图像验证器。该表单使用 cookie 来检查用户输入的验证码。除了使用 cookie 之外,还有其他方法吗?
【问题讨论】:
这是一个非常易于使用和设置的脚本。该脚本只是创建图像,但合并验证并不难。您可以下载脚本here 来验证验证码图片,使用 php 或 javascript 确保 post 值等于 $_SESSION['security_number'] 并完成。
【讨论】:
在这种情况下,Cookie 是一个非常糟糕的主意。相反,您应该使用在$_SESSION PHP 超全局变量中设置的变量。在您的验证码输入页面顶部,添加以下内容(最小版本):
session_start();
$_SESSION['captchaCode'] = /* whatever */
session_start() 文档可以在here 找到。
然后,当表单提交时,检查表单提交的值是否与$_SESSION['captchaCode']中的值相同:
session_start();
if($_SESSION['captchaCode'] == $_POST['captchaCode'])
{
// Do interesting things
}
请记住,这是一种非常简单、通用的方法。如果您使用的是 reCAPTCHA 或 Securimg,那么他们将有自己的方式来验证他们生成的验证码。
【讨论】:
我不使用cookies,您可以查看他们输入的内容是否与您在验证码条目数据库中的内容直接匹配;也就是说,如果你有一个可能的验证码数据库?
【讨论】: