background image

 

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

 

钮我没碰到过提交两次的情况。