考虑安全性的前提下注意以下几点
① 用于存放上传文件的文件夹单独放置,并设置属性 -> 执行权限 为无
这样可以保证即便上传了一些可执行的非法文件(*.asp,*.php,*.aspx)也不会被执行"
前提是上传的内容仅仅是图片,文本文件等静态文件的时候
② 没有特殊要求的情况下,在配置新站点的时候只选择“读取” “运行脚本”
尽可能不选择“可写”
③ 为每一个站点建立独立的应用程序池。
④ 为每一个应用程序池建立独自的标示
首先在用户管理新建用户,将用户加入IIS_WPG组,
之后在应用程序池属性的标识选项页中可以配置该用户为当前应用程序池的标识
之后在程序的文件夹得访问属性中可以针对该标识设置权限
⑤ 默认情况下IIS会将访问用户指定为NETWORK SERVICE用户,
对存放上传文件的文件夹,可以针对NETWORK SERVICE用户设置属性。
⑥ 如果独立一个IIS下只有一个站点的时候,⑤的做法没有问题,
但当需要配置多个站点的时候,就要参照④的做法。建立单独的标识
这是因为用一个IIS下的多个WebSite,只要获得其中一个的NETWORK SERVICE用户权限
就同事获得了其它WebSite的NETWORK SERVICE用户权限,这是跨站的安全性问题
⑦ 文件系统设置为NTFS格式
⑧ 不需要的情况下,关闭FTP服务
⑨ 关于编写代码的时候,对于用输入的信息不要仅仅在客户端浏览器做检测,
同样要在服务器端中加入检测,以防止他人用程序进行的表单提交