详解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 相关文章推荐
一个用于MySQL的PHP XML类
Oct 09 PHP
自己前几天写的无限分类类
Feb 14 PHP
php中设置多级目录session的问题
Aug 08 PHP
完善CodeIgniter在IDE中代码提示功能的方法
Jul 19 PHP
取得单条网站评论以数组形式进行输出
Jul 28 PHP
thinkPHP数据库增删改查操作方法实例详解
Dec 06 PHP
php调用云片网接口发送短信的实现方法
Oct 25 PHP
PHP基于curl模拟post提交json数据示例
Jun 22 PHP
PHP结合Redis+MySQL实现冷热数据交换应用案例详解
Jul 09 PHP
PHP切割整数工具类似微信红包金额分配的思路详解
Sep 18 PHP
php装饰者模式简单应用案例分析
Oct 23 PHP
php中get_object_vars()在数组的实例用法
Feb 22 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
细谈php中SQL注入攻击与XSS攻击
2012/06/10 PHP
PHP关键特性之命名空间实例详解
2017/05/06 PHP
JavaScript获取GridView选择的行内容
2009/04/14 Javascript
jQuery为iframe的body添加click事件的实现代码
2011/04/07 Javascript
三级下拉菜单的js实现代码
2011/05/23 Javascript
JS版的date函数(和PHP的date函数一样)
2014/05/12 Javascript
原生的html元素选择器类似jquery选择器
2014/10/15 Javascript
JS模式之单例模式基本用法
2015/06/30 Javascript
基于AngularJS+HTML+Groovy实现登录功能
2016/02/17 Javascript
JS实现的仿QQ空间图片弹出效果代码
2016/02/23 Javascript
JQuery中attr属性和jQuery.data()学习笔记【必看】
2016/05/18 Javascript
jQuery实现鼠标滑过图片移动特效
2016/12/08 Javascript
ReactNative 之FlatList使用及踩坑封装总结
2017/11/29 Javascript
高性能的javascript之加载顺序与执行原理篇
2018/01/14 Javascript
小程序指纹验证的实现代码
2018/12/04 Javascript
vue-cli3使用mock数据的方法分析
2020/03/16 Javascript
不依任何赖第三方,单纯用vue实现Tree 树形控件的案例
2020/09/21 Javascript
[02:34]DOTA2亚洲邀请赛 BG战队出场宣传片
2015/03/09 DOTA
python中将阿拉伯数字转换成中文的实现代码
2011/05/19 Python
Python学习笔记之os模块使用总结
2014/11/03 Python
Python双精度浮点数运算并分行显示操作示例
2017/07/21 Python
对python判断ip是否可达的实例详解
2019/01/31 Python
Pandas_cum累积计算和rolling滚动计算的用法详解
2019/07/04 Python
解决Django中checkbox复选框的传值问题
2020/03/31 Python
PyTorch中的C++扩展实现
2020/04/02 Python
PyQt5.6+pycharm配置以及pyinstaller生成exe(小白教程)
2020/06/02 Python
python drf各类组件的用法和作用
2021/01/12 Python
俄罗斯便宜的在线服装商店:GroupPrice
2020/04/10 全球购物
大学生毕业自我鉴定范文
2013/09/19 职场文书
初中三年学生的学习自我评价
2013/11/13 职场文书
旅游业大学生创业计划书
2014/01/31 职场文书
银行先进个人事迹材料
2014/05/11 职场文书
心理学专业求职信
2014/06/16 职场文书
财政局个人总结
2015/03/04 职场文书
公司处罚决定书
2015/06/24 职场文书
详解Alibaba Java诊断工具Arthas查看Dubbo动态代理类
2022/04/08 Java/Android