1、对数据库进行安全配置,例如你的程序连接数据库所使用的帐户/口令/权限,如果是浏览新闻的,用只读权限即可,可以对不同的模块使用不同的帐户/权限;另外,数据库的哪些存储过程可以调用,也要进行严格地配置,用不到的全部禁用(特别是cmd这种),防止注入后利用数据库的存储过程进行系统调用; 2、在获取客户端提交的参数时,进行严格的过滤,包括参数长短、参数类型等等; 3、对管理员后台进行严格的保护,有条件的话,应该设置为只允许特定的IP访问(例如只允许管理员网段访问)――这个要根据实际情况来看; 4、对操作系统进行安全配置,防止注入后调用系统的功能,例如把 cmd.exe/tftp.exe/ftp.exe/net.exe 这些文件全部转移到其他目录,并对目录进行严格的权限指派; 5、设置网络访问控制; 6、有条件的话,配置针对HTTP的内容过滤,过滤病毒、恶意脚本等; 7、如果有必要,可以考虑选择HTTPS,这样可以防止很多的注入工具扫描。 相信你也看出来了,总的来说程序方面主要考虑权限、参数过滤等问题;权限主要包括IIS浏览权限、数据库调用权限。除此以外,还要考虑数据库、操作系统的安全配置。
|