Windows下PHP+MySQL+IIS安全平台III 变态配置
2009-01-15 13:51:23 来源:WEB开发网经过第一,二部分的学习我们已经了解到了IIS+MySQL+PHP的基本配置过程和Windows的基本权限设置。这一部分我们需要讨论php的安全配置还有Web目录的安全配置,当然也必须有IIS的变态安全配置了。我这里先废话几句。
我们最终的目标是Web站点只运行php,不支持asp不支持asp.net,让特定的目录或者子网站不能执行php脚本,例如图片目录,我们对它设置成不能运行php,这样就算您的网站被“黑客”登录了后台,能上传文件。但是最终他也不能执行webshell。就算拿到了webshell,他也不能读目录或者文件,不能执行命令。换句大话就是说强大的webshell在黑客手上没有任何的利用价值,让黑客最终直接抓狂而死。呵呵!其实做到这一点不是非常的难,跟随我的脚步来吧。学完本文章你就能独立的完成这样的变态的服务器配置了。
一、php.ini文件变态配置
我们为什么把php.ini放在最前面写呢,因为我们的Web网站是php的,所以很多默认的选项是不安全的。给黑客留下了非常多的可利用机会,所以第一步我们必须要把php.ini设置的变态些,这样就能阻止一般脚本黑客的攻击了。
我们首先来了解一些php.ini的基本概念性。空白字符和以分号开始的行被简单地忽略。设置指令的格式如下:directive = value 指令名(directive)是大小写敏感的!所以"foo=bar"不同于"FOO=bar"。值(value)可以是:
1. 用引号界定的字符串(如:"foo")
2. 一个数字(整数或浮点数,如:0,1,34,-1,33.55)
3. 一个PHP常量(如:E_ALL,M_PI)
4. 一个INI常量(On,Off,none)
5. 一个表达式(如:E_ALL & ~E_NOTICE)
还有另外一个是设置布尔值,1为On就是开启,0为Off就是关闭。php.ini分了很多部分,例如:模块部分,php全局配置,数据库配置,等等。如图1所示是一个基本的php.ini的例子。了解了基本的概念以后我们就可以开始变态配置之旅。
赞助商链接