是否可以使用gzcompress(以及从数据库中检索它,gzuncompress)函数来阻止mysql注入?或者有没有理由说这不起作用?或者有没有理由认为这根本不是一个好主意?
答案 0 :(得分:3)
这是一个坏主意,因为
从理论上讲,可能存在一系列数据,在压缩时会导致SQL注入或只是破坏查询
gz压缩数据无法正确索引和搜索 - 您将拥有一个充满乱码的数据库
gzcompression计算成本高昂
使用库的字符串转义方法(如mysql(i)_real_escape_string()
)或参数化查询,只需在将数据输入数据库之前始终清理数据。
如果您可靠地执行此操作,则无需进一步保护。
答案 1 :(得分:1)
要防止SQL注入攻击,请使用PDO的参数化查询。
答案 2 :(得分:1)
可以通过2种方式之一来阻止SQL注入。您可以使用参数化查询,也可以在构建SQL语句时正确清理值。
现在,您所建议的内容可能会阻止恶意注入数据库,但这并不能消除将SQL语法错误(有效的SQL注入)引入SQL语句的可能性。
此外,通过使用压缩功能,它将消除在不经过解压缩的情况下查看或搜索数据库内容的可能性。
这是一种避免SQL注入的新方法,但会导致比实际解决的问题更多的问题。你真的需要坚持尝试和真正的解决方案。