win平台下的PHP环境设置防范PHP木马
2007-11-07 09:34:31 来源:WEB开发网核心提示:1. 防止PHP木马跳转其他目录 我们可以把PHP环境下的网站目录锁定,使其不能跳出指定的目录,有两种方法设置 一是可以在http.conf文件设置,假设你的网站目录是E:\yourweb\home,那么就可以在http.conf文件内加上: php_admin_value open_basedir E:\yourwe
1. 防止PHP木马跳转其他目录
我们可以把PHP环境下的网站目录锁定,使其不能跳出指定的目录,有两种方法设置
一是可以在http.conf文件设置,假设你的网站目录是E:\yourweb\home,那么就可以在http.conf文件内加上: php_admin_value open_basedir E:\yourweb\home
二是可以在php.ini文件那里设置,找到openbase_dir,把他前面的分号去掉,改为open_basedir=” E:\yourweb\home”
两种方法,有兴趣深入讨论的可以自己找下相关资料下,个人认为还是第二种好,by the way第二种不受safe_mode影响,我建议还是用第二种好,我找了下相关资料,也没有分清两种设置的区别,有这方面的见解的请讨论下,thx
再改php.ini里的allow_url_fopen设为off禁止远程使用文件
2. 防范PHP木马执行系统命令
PHP执行系统命令的方法一般要调用以下几个函数: passthru,exec,shell_exec,system
很多人就是把safe_mode打开了,然后就以为安全了,其实不然,因为每个apache(Unix平台最流行的WEB服务器平台)的版本不同,多种方法绕过safe_mode,如XY7今年年初写的imap函数(imap函数默认是关的),还有最近新出的方法绕过safe_mode的,如errorlog方法绕过safe_mode,有兴趣的朋友可以在网上找下相关资料,绕过的方法是蛮多的,综合上述,关了safe_mode后,还有在php.ini里面改以下这东东:
disable_functions= passthru,exec,shell_exec,system
3.关闭错误提示
改了以上东东以后,我们还要改一下错误选择, display_errors = Off,这个在程度测试的时候可以打开,程序正式发布后强烈建议关了
magic_quotes_gpc = On,这个默认是开的,转义用的, get,post,cookie里的引号变为斜杠,如值 (It’s "PHP!") 会自动转换成 (It\’s \"PHP!\") 如果不想转成”\”的话,可以在magic_quotes_sybase = On设置为开,他就把单引号转成双引了,这个可以虚张声势.
4.关闭上传
在PHP.ini文件里上传的相关设置,有利也有不利的,看你如何使用了,如: file_uploads = On默认是开的,这个是支持http上传的,如果为了免去上传漏洞使其上传PHP木马的话,你可以把他给Off的了,但,其他的相关http上传就不能用了,权量而用吧.
5.系统权限设置
在WIN下的apache(Unix平台最流行的WEB服务器平台)是以系统身份运行的,这时我们可以新建立一个底权限的user组用户,然后,打开”服务”那里,找到apache(Unix平台最流行的WEB服务器平台)的服务,把系统权限运置换为低权限的用户,最后设置设置WEB上当下的相关文件权限,如一些用来上传的文件夹设置为可写,其他的设置为只读.安实际情况而定吧.
6.其他
目前还有很多的函数设置还没有搞得完全明白,学习ING中,今天遇到一台服务器,全部是用默认的,里面被挂了N多的马,服务器环境是没有杀毒软件的,于是用了**的超级无敌PHP木马追杀器,如果那个东东能自定义关键字就好了
我们可以把PHP环境下的网站目录锁定,使其不能跳出指定的目录,有两种方法设置
一是可以在http.conf文件设置,假设你的网站目录是E:\yourweb\home,那么就可以在http.conf文件内加上: php_admin_value open_basedir E:\yourweb\home
二是可以在php.ini文件那里设置,找到openbase_dir,把他前面的分号去掉,改为open_basedir=” E:\yourweb\home”
两种方法,有兴趣深入讨论的可以自己找下相关资料下,个人认为还是第二种好,by the way第二种不受safe_mode影响,我建议还是用第二种好,我找了下相关资料,也没有分清两种设置的区别,有这方面的见解的请讨论下,thx
再改php.ini里的allow_url_fopen设为off禁止远程使用文件
2. 防范PHP木马执行系统命令
PHP执行系统命令的方法一般要调用以下几个函数: passthru,exec,shell_exec,system
很多人就是把safe_mode打开了,然后就以为安全了,其实不然,因为每个apache(Unix平台最流行的WEB服务器平台)的版本不同,多种方法绕过safe_mode,如XY7今年年初写的imap函数(imap函数默认是关的),还有最近新出的方法绕过safe_mode的,如errorlog方法绕过safe_mode,有兴趣的朋友可以在网上找下相关资料,绕过的方法是蛮多的,综合上述,关了safe_mode后,还有在php.ini里面改以下这东东:
disable_functions= passthru,exec,shell_exec,system
3.关闭错误提示
改了以上东东以后,我们还要改一下错误选择, display_errors = Off,这个在程度测试的时候可以打开,程序正式发布后强烈建议关了
magic_quotes_gpc = On,这个默认是开的,转义用的, get,post,cookie里的引号变为斜杠,如值 (It’s "PHP!") 会自动转换成 (It\’s \"PHP!\") 如果不想转成”\”的话,可以在magic_quotes_sybase = On设置为开,他就把单引号转成双引了,这个可以虚张声势.
4.关闭上传
在PHP.ini文件里上传的相关设置,有利也有不利的,看你如何使用了,如: file_uploads = On默认是开的,这个是支持http上传的,如果为了免去上传漏洞使其上传PHP木马的话,你可以把他给Off的了,但,其他的相关http上传就不能用了,权量而用吧.
5.系统权限设置
在WIN下的apache(Unix平台最流行的WEB服务器平台)是以系统身份运行的,这时我们可以新建立一个底权限的user组用户,然后,打开”服务”那里,找到apache(Unix平台最流行的WEB服务器平台)的服务,把系统权限运置换为低权限的用户,最后设置设置WEB上当下的相关文件权限,如一些用来上传的文件夹设置为可写,其他的设置为只读.安实际情况而定吧.
6.其他
目前还有很多的函数设置还没有搞得完全明白,学习ING中,今天遇到一台服务器,全部是用默认的,里面被挂了N多的马,服务器环境是没有杀毒软件的,于是用了**的超级无敌PHP木马追杀器,如果那个东东能自定义关键字就好了
更多精彩
赞助商链接