为了保证我们用 php 写的 api 的安全性,要禁止除了接口外的访问方式。
比如我们的项目为 example, 其下有文件夹 dir1、有个接口文件 api.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怎样禁止用户直接访问文件的详细内容。