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)
- 最新评论