我正在使用mysqli预处理语句和绑定变量。
然后为防止sql注入,我是否需要用户输入做任何其他事情(例如:数据类型验证,过滤,清理,字符串转义等)?
除了Sql Injection之外,还有其他攻击MySql数据库的方法吗?
答案 0 :(得分:2)
要防止SQL注入,您必须正确格式化查询 必须正确格式化必须添加到查询动态的每个文字 不仅是字符串和数字等数据文字,还包括所有数据文字,包括运算符和标识符。 格式化值的唯一正确方法是预处理语句。
对于标识符和运算符,您还需要进行过滤,以便只允许查询。
根本不应该涉及用户输入。这是目的地,而不是重要的来源。
肯定的是。但这个话题太宽泛,无法通过论坛帖子保护您。更好地聘请DBA。除了Sql Injection之外,还有其他攻击MySql数据库的方法吗?