1、对数据库进行安全配置, 例如你的程序连接数据库所使用的帐户/口令/权限, 如果是浏览新闻的, 用只读权限即可可以对不同的模块使用不同的帐户/权限;另外, 数据库的哪些存储过程可以调用, 也要进行严格地配置, 用不到的全部禁用(特别是cmd这种), 防止注入后利用数据库的存储过程进行系统调用;
2、在获取客户端提交的参数时, 进行严格的过滤, 包括参数长短、参数类型等等;
3、对管理员后台进行严格的保护, 有条件的话, 应该设置为只允许特定的IP访问(例如只允许管理员网段访问)――这个要根据实际情况来看的;
4、对操作系统进行安全配置, 防止注入后调用系统的功能, 例如把 cmd.exe/tftp.exe/ftp.exe/net.exe 这些文件全部转移到其他目录, 并对目录进行严格的权限指派;
5、设置网络访问控制;
6、有条件的话, 配置针对HTTP的内容过滤, 过滤病毒、恶意脚本等;
7、如果有必要, 可以考虑选择HTTPS, 这样可以防止很多的注入工具扫描, 我以前自己开发注入检测工具的时候, 考虑过做支持HTTPS方式的, 但目前还没付诸实施。 相信你也看出来了, 总的来说程序方面主要考虑权限、参数过滤等问题;权限主要包括IIS浏览权限、数据库调用权限。 除此以外, 还要考虑数据库、操作系统的安全配置。
另外, 不知道你们在开发过程中会不会用到其他人开发的组件, 例如图片上传之类的, 这类组件你们研究过其安全性么?或者开发的过程中, 绝大多数人会使用网上、书上提供的现成代码, 例如用户登录验证等等, 这些公开代码, 也要研究其安全性问题。
……