如何利用.user.ini文件,修改 open_basedir 加强php系统安全性?
发布于 作者:苏南大叔 来源:程序如此灵动~ 我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...
苏南大叔讲了很多关于.user.ini
的文章了,今天说的是,利用.user.ini
修改设置open_basedir
,从而限制脚本包含动作只发生在制定目录里面。从而一定程度中,加强系统安全性。
还没有弄明白的.user.ini
的同学,请点击这里查看:
.user.ini
设置open_basedir
以苏南大叔的博客为例,项目设置open_basedir
的值,网站根目录是:/home/wwwroot/newsn.net/
。那么这个.user.ini
的设置为:
open_basedir=/home/wwwroot/newsn.net/:/tmp/:/proc/
这样的话,该目录下面的php脚本,就只有三个地方可以require
了。注意上述代码中的冒号分割。分割成了3个路径。
open_basedir
效果展示
如果试图require
或者include
或者readdir
上述目录之外的目录或者文件。将会得到错误提示。下面是个demo
截图。试图跨站引用文件,报错了。
Warning: require(): open_basedir restriction in effect. File(/home/wwwroot/newsn.net/index.php) is not within the allowed path(s):
这就从一定意义上,保证了未知PHP代码可能带来的潜在的安全性问题。
值得注意的是,上述路径中,请一定要以斜线结尾,如果没有用斜线结尾的话,则代表的是一系列以对应名称开头的目录。比如:/user
代表的就是 /user(*)/
,所以请一定要注意,斜线的使用。
总结
更多由苏南大叔带来的php相关文章,请点击这里:https://newsn.net/tag/php/ 。
如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。