IIS站点属性的“主目录”选项卡下,有一个执行权限的设置。站点或目录的执行权限应该如何设置?
IIS中执行权限
IIS中的执行权限有如下三种:
1、无权限
无权限是指不能执行动态脚本程序。说得更明白一点就是像asp、php、asp.net、jsp等均不能执行,只有像html这样的页面可以通过IIS来访问。
2、纯脚本
像ASP、PHP、JSP等服务器端脚本程序需要开启纯脚本权限。
3、纯脚本和应用程序
除了可以执行脚本之外还可以执行可执行文件。你有没有遇到一个网页的后缀是.dll?经常看到微软就这么干。这就是是可执行文件,有exe或dll。
网站和目录设置执行权限
明白了IIS三种执行权限就可以根据不同的情况来设置了,大多数网站都是ASP(ASPX)、PHP、JSP等编写的,一般要开启纯脚本执行权限,但不要开启应用程序权限。
上面讲了网站的执行权限设置,下面还得说一下目录的执行权限。单个目录也可以设置与网站不一样的执行权限。比如我们一个用php写好的网站,我给整个网站“纯脚本”的权限。但网站下面一个upload目录,这个目录里面是没有php程序,所以可以给一个“无”的权限。
在IIS中,右键点击左边列表中的upload目录,选择属性,在“目录”选项卡中将“执行权限”一项设置为“无”即可。
设置执行权限的意义
设置执行权限有着重要的安全意义。对于整个网站来讲,我们给的执行权限不能过高(不能为了方便起见而把所有的站点都设置纯脚本和应用程序),太高了就会有安全性的问题。试想一个纯HTML的网站,你给它“无”的权限,它里面任何脚本、木马都执行不了,安全性大大提高。
而对于一些没有程序文件的目录(如前面提到的upload),坚决不能给他脚本运行权限,否则黑客就可以利用网站的漏洞将木马传入到这些目录中,并且可以执行,从而实施破坏。
也许大家要问了,他传到upload里面不能运行,那他可以传到其它目录啊,黑客又不傻!是的,要解决这个问题,就需要了解NTFS权限了。假设我们整个网站只有upload目录是上传用的,可以写入新的文件,其它目录都是程序目录,一旦上传后,就不变了。那么我们就可以将其它目录设置为只读权限,这样黑客就不能上传文件到其它了目录了。这样的结果就是,要上传只能上传到upload,而上传到upload后又不能执行,所以,网站安全了