快捷搜索:   nginx

PHP只允许某个域名或者URL访问调用不允许浏览器直接执行的方法

我们在使用PHP建站的过程中,经常需要用到防止页面被外部调用的情况,这个时候主要是用到判断来路的$_SERVER['HTTP_REFERER'] 参数,但是这也仅能防止一部分人,如果对方伪造来路,这个也没办法。不过日常使用是够了。

这样可以防止PHP文件被直接放到浏览器中访问,必须通过你设定的那个链接来访问或者调用才行


<?
$fromurl="https://www.zzrrr.com/upload.php"; //定义一个来路网址
if( $_SERVER['HTTP_REFERER'] != $fromurl )//如果来路网址不是这个
{
header("Location:".$fromurl);//执行跳转到上面定义的这个来路网址
exit;//结束
}
//如果来路正确,将要执行的代码放这行
?>



再来个只判断主域名的


<?php
$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这个主站全站调用了


顶(0)
踩(0)

您可能还会对下面的文章感兴趣:

最新评论