如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留链接信息。

苏南大叔讲了很多关于.user.ini的文章了,今天说的是,利用.user.ini修改设置open_basedir,从而限制脚本包含动作只发生在制定目录里面。从而一定程度中,加强系统安全性。还没有弄明白的.user.ini的同学,请点击这里查看:https://newsn.net/say/user-ini-howto.html

设置项目为open_basedir,以苏南大叔的博客为例。网站根目录是:/home/wwwroot/newsn.net/。那么这个.user.ini的设置为:

open_basedir=/home/wwwroot/newsn.net/:/tmp/:/proc/

这样的话,该目录下面的php脚本,就只有三个地方可以require了。注意上述代码中的冒号分割。分割成了3个路径。

如果试图require或者include或者readdir上述目录之外的目录或者文件。将会得到错误提示。下面是个demo截图。试图跨站引用文件,报错了。

利用.user.ini文件加强php系统安全性 - user

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/

本站采用创作共用版权协议, 要求署名、非商业用途和相同方式共享。
转载本站内容必须也遵循“署名-非商业用途-相同方式共享”的创作共用协议。
程序如此灵动~》下所有原创文章,如被用于商业用途,请您按规定支付稿费。