为了账号安全,请及时绑定邮箱和手机立即绑定

Nginx+PHP防webshell跨站,跨目录的安全设置

标签:
PHP

Nginx+PHP防webshell跨站,跨目录的安全设置,多种方式,适合php5.3以上方法1:在Nginx配配置文件server{ }中加入:

fastcgi_param PHP_ADMIN_VALUE “[参数名]=[值]“;
例如:

#fastcgi_param PHP_VALUE sessions.save_path=/home/www/sessions/
fastcgi_param PHP_ADMIN_VALUE “open_basedir=/usr/local/nginx/html”;

优点:
可以设置变量,就可以写一个在公共文件里面include过来就行了,
比如: fastcgi_param PHP_ADMIN_VALUE “open_basedir=$host”;

缺点:
$_SERVER里面会多出这个值来,
$_SERVER['PHP_ADMIN_VALUE']=”open_basedir=/home/www/docs”

方法2:在php.ini中加入:

[HOST=www.lpboke.com]
open_basedir=/usr/local/nginx/html:/tmp
[PATH=/usr/local/nginx/html]
open_basedir=/usr/local/nginx/html:/tmp

优点:
这种方式应该是官方在5.3里面默认提供的,也不会出现多个$_SERVER['PHP_ADMIN_VALUE']值。

缺点:
每添加一个站都要去修改下php.ini,比较麻烦,而且网站多了,就是是一大堆。

方法3:修改php.ini的user_ini.filename

这种个人暂未尝试.

方法4:修改php源代码

Nginx防跨目录、跨站设置方法之修改PHP源代码

php5.3同样可以使用php5.2的方式修改源代码.

优点:
设置好了,就和以前一样的使用,不需要再添加任何代码.

缺点:
不利于php升级.

个人推荐方法1和方法3,应为经常修改php.ini不是一个好的方法,至于nginx的配置文件可以用include所以不必修改主配置文件。

最后建议大家把上传目录、session目录也隔离掉,防止包含这2个目录的文件,写shell….



点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消