PHP中防止恶意刷新页面的代码摘要

防止恶意刷页的原则是

需要在页面之间传递验证字符串,
当生成页面时,随机生成一个字符串,
在所有连接中作为一个必需参数传递。字符串同时保存在会话中。

在点连接或表单进入页面之后,判断会话中的验证代码是否与提交的用户相同。如果相同的应用,如果它是相同的,那么处理是不同的,那么它被认为是重复刷新。
在处理完成后,将生成生成新页的验证代码。

代码

复制代码代码如下所示:
< PHP
session_start();
$ k = $ _get { k };
T =美元美元_get {不};
allowtime美元= 1800; / /防刷新时间
IP = get_client_ip(美元);
allowt = MD5(美元美元美元美元的IP。K T);
如果(!isset($ _session { $ allowt }))
{
$刷新=真;
_session美元{ $ allowt } =时间();
} elseif(时间(){ } _session美元美元美元allowt >> allowtime){
$刷新=真;
_session美元{ $ allowt } =时间();
其他{ }
刷新= false;
}
>


IE6提交两次,我也遇到了一个图片而不是提交提交。图片上有一个提交(提交)两次。如果我只提交按钮,我没有遇到提交两次的情况。

现在整理一下:
这种方法基本上与前几次相同。
接收到的页面,2.php,分为两个部分,其中一部分处理提交的变量和一些页面显示。
治疗后的头(变地点。_server美元{ 'php_self ' })跳转到页面本身
如果没有跳转的变量被跳过,则需要判断此部分。当然,您也可以跳转到其他页面。
当您跳转到另一个页面时,有一个问题,建议将它放在PHP文件中。
如果上面的页面不需要满足要求,就可以强制返回。

复制代码代码如下所示:

History.go(1);



只是说一般的想法,也许高的手不会遇到这样的问题,但不是每个人都是高手。
对2.php过程

复制代码代码如下所示:
如果(isset($ _post))
{接收变量
如果(变量不符合要求)

其他的
操作数据

如果(操作完成)
标题(位置。_server美元{ 'php_self});
}

<!——
Javascript:window.history.forward(1);