PHP防止木马攻击的措施

防止跳出web目录

只允许你的PHP脚本在web目录里操作,针对Apache,还可以修改httpd.conf文件限制PHP操作路径。

例如:php_admin_value  open_basedir(将用户可操作的文件限制在某目录下)  web目录。

 

在Linux系统中web根目录有个.user.ini文件,修改该文件与修改httpd.conf文件效果一样。

.user.ini文件文档介绍:

自 PHP 5.3.0 起,PHP 支持基于每个目录的 .htaccess 风格的 INI 文件。此类文件被 CGI/FastCGI SAPI 处理。此功能使得 PECL 的 htscanner 扩展作废。如果使用 Apache,则用 .htaccess 文件有同样效果。

除了主 php.ini 之外,PHP 还会在每个目录下扫描 INI 文件,从被执行的 PHP 文件所在目录开始一直上升到 web 根目录($_SERVER[‘DOCUMENT_ROOT’] 所指定的)。如果被执行的 PHP 文件在 web 根目录之外,则只扫描该目录

在 .user.ini 风格的 INI 文件中只有具有 PHP_INI_PERDIRPHP_INI_USER 模式的 INI 设置可被识别。

 

防止PHP木马执行webshell

第一种:打开safe_mode。

第二种:在PHP.ini中设置d isable_functions = passthru,exec,shell_exec ,system。

 

防止PHP木马读写文件目录

在PHP.ini中设置

disable_functions=fopen ,mkdir ,chmod,unlink,dir,fread,fclose,fwrite,file_exists,closedir,is_dir,readdir,open_dir,fileperms(取得文件权限),delfile,copy。

 

到此为止在Linux环境下没什么问题了,但在win下,Apache默认运行system权限

解决方法:

给web目录设置权限。

使Apache以另一种身份运行。

0 条评论
发表一条评论