#isset($_SERVER['HTTP_REFERER']) or exit('不可直接在URL中输入此地址');
#preg_match("/".$_SERVER['HTTP_HOST']."/i", $_SERVER['HTTP_REFERER']) or exit('不可直接在URL中输入此地址');
能够阻止用户直接输入URL地址。
但是如果这段代码是放在服务器端。然后客户端进行AJAX请求的话就有危险了
因为客户端的http_referer是来自另外的地方导致数据过不来!
比较好的解决方法是:
function stop_outside_post(){
$ServerName = @$_SERVER['SERVER_NAME'];
$Sub_from = @$_SERVER["HTTP_REFERER"];
$Sub_len = strlen($ServerName);
$Checkfrom = substr($Sub_from,7,$Sub_len);
if($Checkfrom!= $ServerName) {
die("警告!你正在从外部提交数据或直接访问文件!请立即终止!!");
}
直接杀掉从外部直接提交过来的数据!
阅读(1127) | 评论(0) | 转发(0) |