我想使用验证码发出安全的 ajax 请求以防止垃圾邮件
我的问题是当页面有 2 个这样的请求时:
按钮 1 - 按钮 2
如果我单击按钮 1 或按钮 1,验证码会发生变化
这段代码也许可以理解我的问题
索引.HTML
<script>
var code_captcha = 1234; // generated by php
</script>
<inpt type="button" value="Request 1" onclick="ajax_request('send_message.php', captcha = code_captcha);" />
<inpt type="button" value="Request 2" onclick="ajax_request('add_comment.php', captcha = code_captcha);" />
send_message.php / add_comment ....
<?
session_start();
$code = $_SESSION["code"];
if ($code == $_POST[code_captcha]){
echo 'status:ok';
$_SESSION["code"] = "";
}else{
echo 'status:error';
}
?>
该行清除验证码$_SESSION["code"] = ""; .
所以如果我第一次点击请求 100% 我返回一个ok 状态
但是如果我第二次单击请求 100% 我会返回错误,因为会话已清除
任何想法,并提前感谢
如果您是 vBulletin 编码员,我认为您在标头中看到了没有垃圾评论、消息等的标记