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


Posted in PHP onJuly 28, 2017

详解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里的开头添加上以上代码即可.

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

PHP 相关文章推荐
实用函数7
Nov 08 PHP
优化使用mysql存储session的php代码
Jan 10 PHP
php下载远程文件类(支持断点续传)
Nov 14 PHP
php 设计模式之 工厂模式
Dec 19 PHP
php设置允许大文件上传示例代码
Mar 10 PHP
ThinkPHP模板范围判断输出In标签与Range标签用法详解
Jun 30 PHP
php include类文件超时问题处理
Feb 06 PHP
Thinkphp和Bootstrap结合打造个性的分页样式(推荐)
Aug 01 PHP
AES加解密在php接口请求过程中的应用示例
Oct 26 PHP
全面解析PHP面向对象的三大特征
Jun 10 PHP
laravel框架如何设置公共头和公共尾
Oct 22 PHP
PHP实现图片防盗链破解操作示例【解决图片防盗链问题/反向代理】
May 29 PHP
php简单实现单态设计模式的方法分析
Jul 28 #PHP
[原创]PHP实现SQL语句格式化功能的方法
Jul 28 #PHP
使用php自动备份数据库表的实现方法
Jul 28 #PHP
PHP自定义函数判断是否为Get、Post及Ajax提交的方法
Jul 27 #PHP
PHP 7安装使用体验之性能大提升,兼容性强,扩展支持不够(升级PHP要谨慎)
Jul 27 #PHP
laravel 5.4中实现无限级分类的方法示例
Jul 27 #PHP
SCP远程VPS快速搬家和WDCP升级php5.3安装memcached和eaccelerator教程
Jul 27 #PHP
You might like
3.从实例开始
2006/10/09 PHP
用ADODB来让PHP操作ACCESS数据库的方法
2006/12/31 PHP
PHP的变量类型和作用域详解
2014/03/12 PHP
ThinkPHP之foreach标签使用概述
2014/06/30 PHP
Yii2实现上下联动下拉框功能的方法
2016/08/10 PHP
CakePHP框架Session设置方法分析
2017/02/23 PHP
javascript的动态加载、缓存、更新以及复用(一)
2014/06/09 Javascript
Node.js中使用socket创建私聊和公聊聊天室
2015/11/19 Javascript
jQuery ajax调用后台aspx后台文件的两种常见方法(不是ashx)
2016/06/28 Javascript
JS添加或修改控件的样式(Class)实现方法
2016/10/15 Javascript
详解webpack 多入口配置
2017/06/16 Javascript
vue2.0实现分页组件的实例代码
2017/06/22 Javascript
最全的JavaScript开发工具列表 总有一款适合你
2017/06/29 Javascript
浅谈vuejs实现数据驱动视图原理
2018/02/23 Javascript
JS动画实现回调地狱promise的实例代码详解
2018/11/08 Javascript
JS关闭子窗口并且刷新上一个窗口的实现示例
2020/03/10 Javascript
vue使用video插件vue-video-player的示例
2020/10/03 Javascript
Vue select 绑定动态变量的实例讲解
2020/10/22 Javascript
Python和Ruby中each循环引用变量问题(一个隐秘BUG?)
2014/06/04 Python
基于使用paramiko执行远程linux主机命令(详解)
2017/10/16 Python
Python使用Scrapy保存控制台信息到文本解析
2017/12/27 Python
python的dataframe转换为多维矩阵的方法
2018/04/11 Python
python 字典 按key值大小 倒序取值的实例
2018/07/06 Python
flask框架json数据的拿取和返回操作示例
2019/11/28 Python
浅谈Python 命令行参数argparse写入图片路径操作
2020/07/12 Python
Python request post上传文件常见要点
2020/11/20 Python
css3+jq创作含苞待放的荷花
2014/02/20 HTML / CSS
上海微创软件面试题
2012/06/14 面试题
幼儿园中秋节活动方案
2014/02/06 职场文书
员工保密承诺书
2014/05/28 职场文书
同意迁入证明模板
2014/10/26 职场文书
我是特种兵观后感
2015/06/11 职场文书
退休职工欢送会致辞
2015/08/01 职场文书
2019大学生实习报告
2019/06/21 职场文书
浅谈:电影《孔子》观后感(范文)
2019/10/14 职场文书
PO模式在selenium自动化测试框架的优势
2022/03/20 Python