本质还是采用session方式进行时间比较,在单位时间内允许访问或者访问次数,如果有使用反向代理的话,也可以采用nginx配置
<?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; }
?>