PHP
—
教程 php 中防止恶意刷新页面的代码
恶意刷新就是不停的去刷新提交页面,导致大量无效数据了,下面我们来总结一下 php
防止恶意刷新页面方法总结
防止恶意刷页面的原理是
要求在页面间传递一个验证字符串,
在生成页面的时候 随机产生一个字符串,
做为一个必须参数在所有连接中传递。同时将这个字符串保存在 session
中。
点连接或者表单进入页面后,判断 session 中的验证码是不是与用户提交的相同,如果相
同,则处理,不相同则认为是重复刷新。
在处理完成后将重新生成一个验证码,用于新页面的生成
代码
代码如下:
<?php
session_start();
$k
=
$_GET
['k'];
$t
=
$_GET
['t'];
$allowTime
= 1800;
//
防刷新时间
$ip
= get_client_ip();
$allowT
= md5(
$ip
.
$k
.
$t
);
if
(!isset(
$_SESSION
[
$allowT
]))
{
$refresh
= true;
$_SESSION
[
$allowT
] = time();
}
elseif
(time() -
$_SESSION
[
$allowT
]>
$allowTime
){
$refresh
= true;
$_SESSION
[
$allowT
] = time();
}
else
{
$refresh
= false;
}
?>
ie6 提交两次我也碰到过,大致是用图片代替 submit 时,图片上有个 submit(),这样会提交
两次,如果只是 submit
钮我没碰到过提交两次的情况。