详解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 相关文章推荐
PHP 写文本日志实现代码
May 18 PHP
Php无限级栏目分类读取的实现代码
Feb 19 PHP
PHP JSON出错:Cannot use object of type stdClass as array解决方法
Aug 16 PHP
微信公众号开发之微信公共平台消息回复类实例
Nov 14 PHP
php筛选不存在的图片资源
Apr 28 PHP
thinkphp框架下404页面设置 仅三步
May 14 PHP
PHP自定义函数获取汉字首字母的方法
Dec 01 PHP
thinkPHP5.0框架命名空间详解
Mar 18 PHP
Symfony查询方法实例小结
Jun 28 PHP
PHP中十六进制颜色与RGB颜色值互转的方法
Mar 18 PHP
laravel 实现上传图片到本地和前台访问示例
Oct 21 PHP
laravel 解决多库下的DB::transaction()事务失效问题
Oct 21 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
自制汽车收音机天线:收听广播的技巧和方法
2021/03/02 无线电
php二维数组排序与默认自然排序的方法介绍
2013/04/27 PHP
PHP开发中常见的安全问题详解和解决方法(如Sql注入、CSRF、Xss、CC等)
2014/04/21 PHP
jQuery Mobile + PHP实现文件上传
2014/12/12 PHP
Yii2中SqlDataProvider用法示例
2016/09/22 PHP
PHP PDOStatement::bindColumn讲解
2019/01/30 PHP
php转换上传word文件为PDF的方法【基于COM组件】
2019/06/10 PHP
jQuery EasyUI API 中文文档 - Form表单
2011/10/06 Javascript
利用jquery动画特效和css打造的侧边弹出垂直导航
2014/04/04 Javascript
javascript移动设备Web开发中对touch事件的封装实例
2014/06/05 Javascript
JavaScript必知必会(五) eval 的使用
2016/06/08 Javascript
jQuery插件扩展extend的简单实现原理
2016/06/24 Javascript
javascript对浅拷贝和深拷贝的详解
2016/10/14 Javascript
JS实现仿PS的调色板效果完整实例
2016/12/21 Javascript
Vue的实例、生命周期与Vue脚手架(vue-cli)实例详解
2017/12/27 Javascript
在react中使用vuex的示例代码
2018/07/30 Javascript
详解如何构建Promise队列实现异步函数顺序执行
2018/10/23 Javascript
Vue基于vuex、axios拦截器实现loading效果及axios的安装配置
2019/04/26 Javascript
详解解决小程序中webview页面多层history返回问题
2019/08/20 Javascript
使用JS实现动态时钟
2020/03/12 Javascript
centos下更新Python版本的步骤
2013/02/12 Python
Python检测一个对象是否为字符串类的方法
2015/05/21 Python
python线程、进程和协程详解
2016/07/19 Python
Python+Selenium+PIL+Tesseract自动识别验证码进行一键登录
2017/09/20 Python
浅谈python中字典append 到list 后值的改变问题
2018/05/04 Python
浅谈Python基础—判断和循环
2019/03/22 Python
pyqt实现.ui文件批量转换为对应.py文件脚本
2019/06/19 Python
python基于pdfminer库提取pdf文字代码实例
2019/08/15 Python
sklearn中的交叉验证的实现(Cross-Validation)
2021/02/22 Python
一款纯css3制作的2015年元旦雪人动画特效教程
2014/12/29 HTML / CSS
深入浅析HTML5中的SVG
2015/11/27 HTML / CSS
canvas进阶之如何画出平滑的曲线
2018/10/15 HTML / CSS
文艺演出策划方案
2014/06/07 职场文书
委托证明范本
2014/11/25 职场文书
2015年校本培训工作总结
2015/07/24 职场文书
python用海龟绘图写贪吃蛇游戏
2021/06/18 Python