LNMP下防跨站、跨目录安全设置,仅支持PHP 5.3.3以上版本
LNMP一键安装包下存在跨站和跨目录的问题,跨站和跨目录影响同服务器/VPS上的其他网站,最近看PHP 5.3,在5.3.3以上已经增加了HOST配置,可以起到防跨站、跨目录的问题。
如果你是PHP 5.3.3以上的版本,可以修改/usr/local/php/etc/php.ini在末尾里加入:
[HOST=www.vpser.net] open_basedir=/home/wwwroot/www.vpser.net/:/tmp/[PATH=/home/wwwroot/www.vpser.net] open_basedir=/home/wwwroot/www.vpser.net/:/tmp/
按上面的这个例子修改,换成你自己的域名和目录,多个网站就按上面的例子改成多个,最后重启php-fpm:/etc/init.d/php-fpm restart
如果让网站可以使用探针需要在/tmp/后加上:/proc/
PHP 5.3.3以上版本的用户,(LNMP 1.0以上默认已支持,不需要要替换)可以执行:cd /root;rm -f /root/vhost.sh;wget http://soft.vpser.net/lnmp/ext/vhost.sh;chmod +x /root/vhost.sh,这样替换原来的vhost.sh文件,以后添加网站就会自动添加HOST防跨站、跨目录的配置。
为解决升级PHP 5.3.*版本后部分需要PHP 5.2.*版本的程序无法运行的问题,我们会增加一个PHP 5.2的安装脚本,脚本将在未来几天发布。
注意:open_basedir 不是万能的也不是绝对安全的,会阻止一部分防跨目录的行为,但是同时也存在很多绕过open_basedir的方法。
>>转载请注明出处:VPS侦探 本文链接地址:https://www.vpser.net/security/lnmp-cross-site-corss-dir-security.html
大牛我的网站被挂马了,最近正愁这事,现在php5.2的有没有比较简单一些解决跨站的问题呀。
非常不错的哦。5.2也应该这样的哦
感谢军哥
@super, 这个是LNMP的不是LNMPA的,只要没注明LNMPA的,都是只针对LNMP的。LNMPA的要修改对应虚拟主机配置文件里的php_admin_value open_basedir
另外不论加不加:/proc/ 该目录下都可以执行探针。???
老大 lnmpa 升级php到5.3.13 加了上面的目录代码
无效啊
还有什么办法吗?
@lili, 怎么加,只能说没没自己看文章,/proc/ 怎么家的/etc/ 就怎么加
和一楼的同问
php5.3.5添加防止跨目录后,pureftp管理面板没法用了,怎么破?
把/etc 加入运行就行了,它读取系统用户,请问具体要怎么加,貌似我加了还是不行啊
@Bolo, 把/etc 加入运行就行了,它读取系统用户
添加防止跨目录后,pureftp管理面板没法用了,怎么破?
@百变剧场, 这个没有测过,不过php 5.4不管是程序兼容性还是用户反映看都不好。
php5.4可以用吗?
自己搞定了。是默认的phpini session.savepath没有定义,我自己定义到tmp目录下就可以了。谢谢。
@老鱼, phpmyadmin 就只是一个web程序,不调用其他目录
要不你删掉phpmyadmin,重新下载一个试试 http://soft.vpser.net/lnmp/lnmp0.9-full/phpmyadmin-latest.tar.gz
@小飞侠, 这个应该没影响
phpmyadmin 还是没有搞定,客户端显示500错误,现在只能用的时候去到basedir,用完了加上去,真是麻烦,网上有人说加:/usr/share/webapps/:/etc/webapps上去,但是我发现没有这两个路径。http://blog.csdn.net/simpman/article/details/5440953