修改了一些错误信息

This commit is contained in:
astaxie
2012-10-23 14:15:07 +08:00
parent 78f9e20b59
commit 131cdf8518
4 changed files with 25 additions and 23 deletions

2
9.4.md
View File

@@ -56,7 +56,7 @@ SQL注入攻击的危害这么大那么该如何来防治呢?下面这些建
- 1、严格限制Web应用的数据库的操作权限给此用户提供仅仅能够满足其工作的权限从而最大限度的减少注入攻击对数据库的危害。
- 2、检查输入的数据是否具有所期望的数据格式严格限制变量的类型例如使用regexp包进行一些匹配处理或者使用strconv包里面的字符串转化成相应格式的数据进行判断。
- 3、对进入数据库的特殊字符'"\尖括号&*;等进行转义处理或编码转换。Go里面`text/template`里面的`HTMLEscapeString`函数进行转义处理。
- 3、所有的查询语句都使用数据库提供的参数化查询接口参数化的语句使用参数而不是将用户输入变量嵌入到SQL语句中即不要直接拼接SQL语句。例如`database/sql`里面的查询的话首先执行`Prepare`然后执行`Query`更新或者插入的话`Exec(query string, args ...interface{})`
- 3、所有的查询语句都使用数据库提供的参数化查询接口参数化的语句使用参数而不是将用户输入变量嵌入到SQL语句中即不要直接拼接SQL语句。例如`database/sql`里面的查询函数`Prepare``Query`或者`Exec(query string, args ...interface{})`
- 4、在应用发布之前建议使用一些专业的SQL注入检测工具进行检测及时修补这些SQL注入漏洞。例如sqlmap、SQLninja等SQL注入检测工具网上应该有很多这方面的开源工具。
- 5、避免网站打印出来SQL错误信息比如类型错误、字段不匹配等防止攻击者利用这些错误信息进行一些判断。