来看看:nginx假造主机防webshell完善版
要多动手,不要怕什么搞坏了怎么办,你不搞坏,不去动手,就永远不会有收获,既然你在linux中是自由的,那就发挥自己的权利;我们先来看下nginx.conf
server
{
listen80;
server_namewww.a.com;
indexindex.htmlindex.htmindex.php;
root/data/htdocs/www.a.com/;
#limit_conncrawler20;
location~.*.(php|php5)?$
{
#fastcgi_passunix:/tmp/php-cgi.sock;
fastcgi_pass127.0.0.1:9000;
fastcgi_indexindex.php;
includefcgi.conf;
}
}
server
{
listen80;
server_namewww.b.com;
indexindex.htmlindex.htmindex.php;
root/data/htdocs/www.b.com/;
#limit_conncrawler20;
location~.*.(php|php5)?$
{
#fastcgi_passunix:/tmp/php-cgi.sock;
fastcgi_pass127.0.0.1:9000;
fastcgi_indexindex.php;
includefcgi.conf;
}
}
nginx在80端口承受到会见哀求后,会把哀求转发给9000端口的php-cgi举行处置
而假如修正php.ini中open_basedir=../../../../../,针对两个分歧的网站,www.a.com,www.b.com城市把哀求发送给9000处置,而假如先会见www.a.com那末../../../../../就会酿成A网站的根目次地点,然后这时候候假如你会见www.b.com,那末open_basedir仍旧是A网站的根目次,可是关于B来讲,又是不同意会见的,以是就形成了,第二个站点翻开今后会呈现noinputfiles,那末有甚么办理举措呢?
我们能够把分歧的假造主机发送到分歧的php-cgi端口举行处置,固然呼应的php-fpm设置文件中的open_basedir也分歧。。我们来看看怎样设置。。
起首,nginx.conf设置以下
server
{
listen80;
server_namewww.a.com;
indexindex.htmlindex.htmindex.php;
root/data/htdocs/www.a.com/;
#limit_conncrawler20;
location~.*.(php|php5)?$
{
#fastcgi_passunix:/tmp/php-cgi.sock;
fastcgi_pass127.0.0.1:9000;
fastcgi_indexindex.php;
includefcgi.conf;
}
}
server
{
listen80;
server_namewww.b.com;
indexindex.htmlindex.htmindex.php;
root/data/htdocs/www.b.com/;
#limit_conncrawler20;
location~.*.(php|php5)?$
{
#fastcgi_passunix:/tmp/php-cgi.sock;
fastcgi_pass127.0.0.1:9001;
fastcgi_indexindex.php;
includefcgi.conf;
}
}
注重:www.a.com的哀求发送到9000端口,www.b.com的哀求发送到9001端口,顺次类推
nginx设置修正了,绝对的,php-fpm.conf也要修正
每一个站点建一个conf
A站点
#cp/usr/local/webserver/php/etc/php-fpm.conf/usr/local/webserver/php/etc/www.a.com.conf
#vi/usr/local/webserver/php/etc/www.a.com.conf
找到php_defines,增加
<valuename="open_basedir">/data/htdocs/www.a.com:/tmp:/var/tmp</value>
B站点
#cp/usr/local/webserver/php/etc/php-fpm.conf/usr/local/webserver/php/etc/www.b.com.conf
#vi/usr/local/webserver/php/etc/www.b.com.conf
找到php_defines,增加
<valuename="open_basedir">/data/htdocs/www.b.com:/tmp:/var/tmp</value>
找到listen_address,修正为
<valuename="listen_address">127.0.0.1:9001</value>注重这里的端标语
最初要修正php-fpm启动剧本
#vi/usr/local/webserver/php/sbin/php-fpm
正文失落本来的#$php_fpm_BIN--fpm$php_opts,增加
$php_fpm_BIN--fpm--fpm-config/usr/local/webserver/php/etc/www.a.com.conf
$php_fpm_BIN--fpm--fpm-config/usr/local/webserver/php/etc/www.b.com.conf
启动服务
#/usr/local/webserver/php/sbin/php-fpmrestart
检察端口
#netstat-tln
开了90009001分离处置两个站点哀求
两个php-cgi主历程加载分歧的conf文件,如许就完善办理了假造主机webshell能跨目次的成绩
固然,启动之前记得conf内里的max_children,开启php-cgi子历程数,响应要削减一些,以避免形成内存不敷
文章DoDosBlog
原文地点:http://www.sectop.com/post/35.html
学习python,无论你是打算拿他当主要开发语言,还是当辅助开发语言,你都应该学习他,因为有些时间我们耗不起。 尽我能力帮助他人,在帮助他人的同时你会深刻巩固知识。 即便是非英语国家的人发布技术文档,Linux也都首先翻译成英语在国际学术杂志和网络上发表。 了解Linux的网络安全,系统的安全,用户的安全等。安全对于每位用户,管理员来说是非常重要的。 另外Linux上也有很多的应用软件,安装运行了这些软件后,你就可以在Linux上编辑文档、图?片,玩游戏、上网、播放多媒体文件等。 感谢老师和同学们在学习上对我的帮助。 尽量不要提问纯属是扯蛋.学习Linux特别是自己一个人初学入手的时候没人教很困难.当然如果可以的话平时多去买些Linux书...对学习Linux很有帮助. 尽量不要提问纯属是扯蛋.学习Linux特别是自己一个人初学入手的时候没人教很困难.当然如果可以的话平时多去买些Linux书...对学习Linux很有帮助. 说实话小时候没想过搞IT,也计算机了解也只是一些皮毛,至于什么UNIX,Linux,听过没见过,就更别说用过了。?
页:
[1]