详解PHP防止直接访问.php 文件的实现方法
时间:2017-11-22 16:28:58|栏目:PHP教程|点击: 次
详解PHP防止直接访问.php 文件的实现方法
为了保证我们用 PHP 写的 API 的安全性要禁止除了接口外的访问方式.
比如我们的项目为 example, 其下有文件夹 dir1、有个接口文件 api.php. 结构为: 输入图片说明
详解PHP防止直接访问.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里的开头添加上以上代码即可.
您可能感兴趣的文章
- 06-30PHP调试工具phpStudy下载及使用说明-站长必备
- 06-30网站为什么被反复劫持
- 06-30网站被劫持怎么办怎么解决
- 06-30Apache和Nginx有什么区别,如何选择?
- 06-30什么是畸形文件,有哪些危害呢?
- 06-30PHP远程代码执行漏洞(CVE-2024-4577)解决方案(不升级PHP版本)
- 06-27PHP对字符串进行一行一行读取解析
- 06-27PHP7在Linux下开启配置使用MongoDB
- 11-23PHP面向对象 封装与继承
- 11-23PHP 7安装使用体验之性能大提升,兼容性强,扩展支
阅读排行
推荐教程
- 06-30什么是畸形文件,有哪些危害呢?
- 06-30网站被劫持怎么办怎么解决
- 06-27PHP7在Linux下开启配置使用MongoDB
- 06-30网站为什么被反复劫持
- 06-27PHP对字符串进行一行一行读取解析
- 06-30Apache和Nginx有什么区别,如何选择?
- 06-30PHP远程代码执行漏洞(CVE-2024-4577)解决方案(不升级PHP版本)
- 06-30PHP调试工具phpStudy下载及使用说明-站长必备
- 11-22PHP自定义函数判断是否为Get、Post及Ajax提交的方法
- 11-23php中 == 和 === 的区别和应用说明