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

 更新时间:2017年07月28日 14:48:47   作者:zcqshine  
这篇文章主要介绍了详解PHP防止直接访问.php 文件的实现方法的相关资料,这里提供实现禁止直接访问.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 文件的实现方法,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

相关文章

  • jQuery+PHP实现图片上传并提交功能

    jQuery+PHP实现图片上传并提交功能

    这篇文章主要介绍了jQuery加PHP实现图片上传并提交实现详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • PHP创建桌面快捷方式的实例代码

    PHP创建桌面快捷方式的实例代码

    本篇文章主要是对PHP创建桌面快捷方式的实例代码进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助
    2014-02-02
  • PHP 7.1中AES加解密方法mcrypt_module_open()的替换方案

    PHP 7.1中AES加解密方法mcrypt_module_open()的替换方案

    这篇文章主要给大家介绍了关于PHP 7.1中AES加解密方法mcrypt_module_open()替换方案的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2017-10-10
  • 解析PHP中数组元素升序、降序以及重新排序的函数

    解析PHP中数组元素升序、降序以及重新排序的函数

    本篇文章是对PHP中数组元素升序、降序以及重新排序的函数进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • php延迟静态绑定实例分析

    php延迟静态绑定实例分析

    这篇文章主要介绍了php延迟静态绑定,实例分析了延迟静态绑定的原理与实现技巧,需要的朋友可以参考下
    2015-02-02
  • php操作mongoDB实例分析

    php操作mongoDB实例分析

    这篇文章主要介绍了php操作mongoDB的方法,实例分析了php操作mongoDB常用的各类技巧,非常具有实用价值,需要的朋友可以参考下
    2014-12-12
  • PHP实践教程之过滤、验证、转义与密码详解

    PHP实践教程之过滤、验证、转义与密码详解

    我们在开发应用时,一般有个约定:不要信任任何来自不受自己控制的数据源中的数据。所以这个时候就用到了这篇文章介绍的内容,本文主要给大家介绍了关于PHP实践教程之过滤、验证、转义与密码的相关资料,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-07-07
  • PHP 身份验证方面的函数

    PHP 身份验证方面的函数

    写了几个身份证方面的函数,个人感觉挺有用的,特别是在网络问卷调查时,对个人信息里的身份证进行验证很有用,但是应者寥寥,还是收在自己的blog里算了。
    2009-10-10
  • 解决PHP在DOS命令行下却无法链接MySQL的技术笔记

    解决PHP在DOS命令行下却无法链接MySQL的技术笔记

    前段时间,由于要用 php 进行 Shell 编程时,碰到了 PHP 在 WEB 下可以连接 MySQL 而在 DOS COMMAND 命令行下却连接失败的问题。
    2010-12-12
  • php重定向的三种方法分享

    php重定向的三种方法分享

    个人更倾向于header的方法,这样页面的跳转速度更快点,用户从视觉上不易察觉整页的跳转,而只是局部的变化
    2012-02-02

最新评论