确保您的表单是从页面提交的!也可以通过向查询字符串中添加&token并使用$_GET根据会话数据(或您喜欢的数组)进行检查来适应url,而不是随机生成和存储此字符串。如果您愿意,如果不想使用$_SESSION,可以构建自己的数组来存储生成的字符串,比如您可以将自己的数组设置为$tokens=array(),然后在easysecure类中,将所有内容存储在该数组中!
<?php(电话)
班容易治愈{
无功功率,无功功率$curr_user(当前用户);
无功功率,无功功率$当前许可;
无功功率,无功功率$当前任务;
无功功率,无功功率$有效权限;
无功功率,无功功率$错误;
功能&设置变量($名称,价值$=无效的) {
如果(!完整(_N)(价值$)) {
$这个->$名称=价值$;
}
返回$这个->$名称;
}
功能制造代币($表单名,$id(美元)){
$代币=md5型(uniqid公司(兰特(),真的));
$_主题[$表单名.$id美元] =$代币;
返回$代币;
}
功能支票代币($代币,$表单名,$id(美元)){
如果(!$代币){
$这个->设置变量('有效权限',0);
$这个->设置变量('错误','未找到令牌,检测到安全桥接');
返回假;
}
$键=$_主题[$表单名.$id(美元)];
如果($键!==$代币){
$这个->设置变量('有效权限',0);
$这个->设置变量('错误','无效标记');
返回假;
}
如果($这个->有效许可!==1){
回声'运行此脚本的权限无效';
返回假;
}其他{
返回真的;
}
}
}
?>
<?php$用户ID= ***?>
<form name=“newform”action=“index.php”method=“post”>
<input type=“text”name=“potentialeveliefield”value=“”size 30/>
<input type=“hidden”name=“token”value=“<?php(电话)回声代币(新概念,$用户ID);?>" />
<输入类型=“提交”/>
</form>
现在,在处理表单时……检查令牌的值
<?php(电话)
如果(!支票代币($_POST(发送)['令牌'],'新表单',$用户ID))
{退出();}
?>