IIS(w3wp.exe)几乎占用服务器大量(100%)带宽的解决方法

时间:2016-04-05

解决办法:

不允许PHP使用网络,把php.ini里的allow_url_fopen 值改为allow_url_fopen = Off

如果不行

;extension=php_sockets.dll (限制使用sockets.dll)
;ignore_user_abort = On
这两项前加上分号。
但默认这两项就是这样设置的。防止某些同志手动打开了的。

**** 设置“register_globals”为“off”

这个选项会禁止PHP为用户输入创建全局变量,也就是说,如果用户提交表单变量“hello”,PHP不会创建“$ hello”,而只会创建“HTTP_GET/POST_VARS['hello']”。这是PHP中一个极其重要的选项,关闭这个选项,会给编程带来很大的不便。

*** 设置“safe_mode”为“on”(注意:开启这个后phpmyadmin将可能无法访问,原因寻找中)

打开这个选项,会增加如下限制:

1.限制哪个命令可以被执行

2.限制哪个函数可以被使用

3.基于脚本所有权和目标文件所有权的文件访问限制

4.禁止文件上载功能

这对于ISP来说是一个伟大的选项,同时它也能极大地改进PHP的安全性。

** 设置“open_basedir”

这个选项可以禁止指定目录之外的文件操作,有效地消除了本地文件或者是远程文件被include()的攻击,但是仍需要注意文件上载和session文件的攻击。

** 设置“display_errors”为“off”,设置“log_errors”为“on”

这个选项禁止把错误信息显示在网页中,而是记录到日志文件中,这可以有效的抵制攻击者对目标脚本中函数的探测。

* 设置“allow_url_fopen”为“off”(和上面第一步一样重复)

这个选项可以禁止远程文件功能,极力推荐!


然后重启IIS。


把C/WINDOWS下的PHP.INI设置为只读防止被黑客篡改,以后修改这个PHP.INI的时候停止掉IIS,这样安全!


另外还可以考虑

考虑到服务器PHP安全角度

*如果是独立服务器的用户可以修改php配置文件中的php.ini,将register_globals=On改为register_globals=Off,然后重启IIS. (由于register_globals设置控制PHP变量访问范围,如果开启会引起不必要的安全问题,所以这里对其进行了强制关闭,如果站长的空间不支持,可以采用以下几种办法进行修改,供广大站长参考: )

上一条:shtml页面include网页文件Apache开启SSI配置 下一条:APMServ中Apache启动失败的解决方法

相关文章

最新文章