详解PHP防止直接访问.php 文件的实现方法

yipeiwu_com5年前PHP代码库

详解PHP防止直接访问.php 文件的实现方法

为了保证我们用 PHP 写的 API 的安全性要禁止除了接口外的访问方式.

比如我们的项目为 example, 其下有文件夹 dir1、有个接口文件 api.php. 结构为: 输入图片说明

这时候我们要求只能通过 example/api.php 来调用file.php里的服务,不能直接通过example/dir1/file.php来访问.

在 php 里有这样一个变量$_SERVER,这是个数组变量, 里面有各种键值对, 具体的可以搜索一下资料. 那么我们现在可以通过$_SERVER里的SCRIPT_NAME来获取脚本名称. $_SERVER['SCRIPT_NAME'],其值会是类似 xxx/api.php,那么我们就可以通过判断访问链接里是否含有api.php来判断这个访问是否为合法的访问, 如果合法则继续执行, 不合法则阻断.

具体代码如下:

if(strpos($_SERVER['SCRIPT_NAME'], 'api.php') === false){
  echo "error";
  exit;
}

在 file.php里的开头添加上以上代码即可.

以上就是PHP防止直接访问.php 文件的实现方法,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

相关文章

一些PHP写的小东西

一些小东西有时候可能用得上!  1.得到客户端IP地址  function getip(){      &...

PHP文件上传类实例详解

本文实例讲述了PHP文件上传类。分享给大家供大家参考,具体如下: 这里演示了FileUpload.class.php文件上传类,其中用到了两个常量,可在网站配置文件中定义: defi...

linux iconv方法的使用

参考phpinfo的信息,iconv模块也已经正确加载。 google一下。原来才知道,原来在linux版本下iconv这个方法还是有点下下问题的。 csdn上的一个网友给出的解决方案为...

PHP获取数组的键与值方法小结

本文实例讲述了PHP获取数组的键与值方法。分享给大家供大家参考。具体如下: 使用数组的过程中经常要遍历数组。通常需要遍历数组并获得各个键或值(或者同时获得键和值),所以毫不奇怪,PHP为...

php修改时间格式的代码

修改时间格式: date("Y-m-d",strtotime($list['pubdate'])); 学习解释:将时间放入strtotime为时间戳后用date()转化格式.下面写了两个...