详解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 相关文章推荐
生成sessionid和随机密码的例子
Oct 09 PHP
php 中include()与require()的对比
Oct 09 PHP
asp和php下textarea提交大量数据发生丢失的解决方法
Jan 20 PHP
PHP Google的translate API代码
Dec 10 PHP
php 模拟POST|GET操作实现代码
Jul 20 PHP
利用phpExcel实现Excel数据的导入导出(全步骤详细解析)
Nov 26 PHP
thinkphp3.2.2前后台公用类架构问题分析
Nov 25 PHP
学习php设计模式 php实现观察者模式(Observer)
Dec 09 PHP
理解php依赖注入和控制反转
May 11 PHP
php同时使用session和cookie来保存用户登录信息的实现代码
May 13 PHP
php版微信小店API二次开发及使用示例
Nov 12 PHP
通过修改Laravel Auth使用salt和password进行认证用户详解
Aug 17 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 采集程序中常用的函数
2009/12/09 PHP
PHP查询MySQL大量数据的时候内存占用分析
2011/07/22 PHP
PHP获取当前页面完整URL的实现代码
2013/06/10 PHP
php class类的用法详细总结
2013/10/17 PHP
thinkphp普通查询与表达式查询实例分析
2014/11/24 PHP
PHP使用递归生成文章树
2015/04/21 PHP
php intval函数用法总结
2019/04/14 PHP
PHP cookie与session会话基本用法实例分析
2019/11/18 PHP
json 定义
2008/06/10 Javascript
JQuery Dialog(JS 模态窗口,可拖拽的DIV)
2010/02/07 Javascript
Jquery + Ajax调用webService实例代码(asp.net)
2010/08/27 Javascript
Jquery上传插件 uploadify v3.1使用说明
2012/06/18 Javascript
js左侧三级菜单导航实例代码
2013/09/13 Javascript
js倒计时小程序
2013/11/05 Javascript
Javascript中的Array数组对象详谈
2014/03/03 Javascript
jQuery遍历Table应用示例
2014/04/09 Javascript
Express实现前端后端通信上传图片之存储数据库(mysql)傻瓜式教程(二)
2015/12/10 Javascript
Bootstrap学习笔记 轮播(Carousel)插件
2017/03/21 Javascript
vue2.0结合Element实现select动态控制input禁用实例
2017/05/12 Javascript
微信小程序button组件使用详解
2018/01/31 Javascript
详解webpack运行Babel教程
2018/06/13 Javascript
Vue 中对图片地址进行拼接的方法
2018/09/03 Javascript
vue3.0 CLI - 2.4 - 新组件 Forms.vue 中学习表单
2018/09/14 Javascript
[01:45]2014DOTA2 TI预选赛预选赛 大神专访第二弹!
2014/05/20 DOTA
python如何修改装饰器中参数
2018/03/20 Python
基于python实现高速视频传输程序
2019/05/05 Python
python3.6.8 + pycharm + PyQt5 环境搭建的图文教程
2020/06/11 Python
OpenCV 使用imread()函数读取图片的六种正确姿势
2020/07/09 Python
html5录音功能实战示例
2019/03/25 HTML / CSS
四方通行旅游网:台湾订房、出国旅游
2017/09/20 全球购物
Piercing Pagoda官网:耳环、戒指、项链、手链等
2020/09/28 全球购物
防沙治沙典型材料
2014/05/07 职场文书
中国梦团日活动总结
2014/07/07 职场文书
房屋买卖协议书范本
2014/09/27 职场文书
先进班集体申报材料
2014/12/26 职场文书
2015年医生个人工作总结
2015/04/25 职场文书