详解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 会话
Dec 21 PHP
使用zend studio for eclipse不能激活代码提示功能的解决办法
Oct 11 PHP
sphinx增量索引的一个问题
Jun 14 PHP
PHP仿盗链代码
Jun 03 PHP
PHP生成各种常见验证码和Ajax验证过程
Jan 10 PHP
PHP实现的随机IP函数【国内IP段】
Jul 20 PHP
PC端微信扫码支付成功之后自动跳转php版代码
Jul 07 PHP
PHP实现的贪婪算法实例
Oct 17 PHP
PHP编程实现的TCP服务端和客户端功能示例
Apr 13 PHP
详解php命令注入攻击
Apr 06 PHP
在PHP中实现使用Guzzle执行POST和GET请求
Oct 15 PHP
php的单例模式及应用场景详解
Feb 27 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 extract 将数组拆分成多个变量的函数
2010/06/30 PHP
php实现删除空目录的方法
2015/03/16 PHP
Mac版PhpStorm之XAMPP整合apache服务器配置的图文教程详解
2016/10/13 PHP
JS类定义原型方法的两种实现的区别评论很多
2007/09/12 Javascript
面向对象的Javascript之二(接口实现介绍)
2012/01/27 Javascript
关于js内存泄露的一个好例子
2013/12/09 Javascript
javascript基于原型链的继承及call和apply函数用法分析
2016/12/15 Javascript
重新理解JavaScript的六种继承方式
2017/03/24 Javascript
封装运动框架实战左右与上下滑动的焦点轮播图(实例)
2017/10/17 Javascript
微信小程序简单实现form表单获取输入数据功能示例
2017/11/30 Javascript
Vue 父子组件的数据传递、修改和更新方法
2018/03/01 Javascript
基于datepicker定义自己的angular时间组件的示例
2018/03/14 Javascript
elementUI多选框反选的实现代码
2019/04/03 Javascript
vue 实现LED数字时钟效果(开箱即用)
2019/12/08 Javascript
JsonServer安装及启动过程图解
2020/02/28 Javascript
js实现带有动画的返回顶部
2020/08/09 Javascript
python实现人人网登录示例分享
2014/01/19 Python
python常见的格式化输出小结
2016/12/15 Python
Python语言描述随机梯度下降法
2018/01/04 Python
Python cookbook(字符串与文本)在字符串的开头或结尾处进行文本匹配操作
2018/04/20 Python
Python 通配符删除文件的实例
2018/04/24 Python
Python使用selenium实现网页用户名 密码 验证码自动登录功能
2018/05/16 Python
Python OpenCV对本地视频文件进行分帧保存的实例
2019/01/08 Python
由面试题加深对Django的认识理解
2019/07/19 Python
利用python计算windows全盘文件md5值的脚本
2019/07/27 Python
Python数据可视化:顶级绘图库plotly详解
2019/12/07 Python
pytorch梯度剪裁方式
2020/02/04 Python
CentOS 7如何实现定时执行python脚本
2020/06/24 Python
CSS3 旋转立方体问题详解
2020/01/09 HTML / CSS
GOOD AMERICAN官网:为曲线性感而设计
2017/12/28 全球购物
党的群众路线学习材料
2014/05/16 职场文书
优秀班主任事迹材料
2014/12/16 职场文书
大学生军训心得体会5篇
2019/08/15 职场文书
导游词之江南园林狮子林
2019/09/16 职场文书
详解MySQL的半同步
2021/04/22 MySQL
Python List remove()实例用法详解
2021/08/02 Python