我们在使用PHP建站的过程中,经常需要用到防止页面被外部调用的情况,这个时候主要是用到判断来路的$_SERVER['HTTP_REFERER'] 参数,但是这也仅能防止一部分人,如果对方伪造来路,这个也没办法。不过日常使用是够了。
这样可以防止PHP文件被直接放到浏览器中访问,必须通过你设定的那个链接来访问或者调用才行
$fromurl="https://www.zzrrr.com/upload.php"; //定义一个来路网址
if( $_SERVER['HTTP_REFERER'] != $fromurl )//如果来路网址不是这个
{
header("Location:".$fromurl);//执行跳转到上面定义的这个来路网址
exit;//结束
}
//如果来路正确,将要执行的代码放这行
?>
再来个只判断主域名的
$fromurl="https://tool.zzrrr.com/ip/"; //定义一个来路网址
$arr = parse_url($fromurl);
$host = $arr['host'];
$arr2 = parse_url($_SERVER['HTTP_REFERER']);
$host2 = $arr2['host'];
if( $host != $host2 )//如果来路网址不是这个
{
header("Location:".$fromurl);//执行跳转到这个网址
exit;//结束
}
?>
这里通过函数parse_url取来路域名的域名部分,比如这里取出的是tool.zzrrr.com 这样就能在tool.zzrrr.com这个主站全站调用了