php,使用gzcompress阻止mysql注入?

时间:2011-05-01 07:30:48

标签: php mysql

是否可以使用gzcompress(以及从数据库中检索它,gzuncompress)函数来阻止mysql注入?或者有没有理由说这不起作用?或者有没有理由认为这根本不是一个好主意?

3 个答案:

答案 0 :(得分:3)

这是一个坏主意,因为

  • 从理论上讲,可能存在一系列数据,在压缩时会导致SQL注入或只是破坏查询

  • gz压缩数据无法正确索引和搜索 - 您将拥有一个充满乱码的数据库

  • gzcompression计算成本高昂

使用库的字符串转义方法(如mysql(i)_real_escape_string())或参数化查询,只需在将数据输入数据库之前始终清理数据。

如果您可靠地执行此操作,则无需进一步保护。

答案 1 :(得分:1)

要防止SQL注入攻击,请使用PDO的参数化查询。

答案 2 :(得分:1)

可以通过2种方式之一来阻止SQL注入。您可以使用参数化查询,也可以在构建SQL语句时正确清理值。

现在,您所建议的内容可能会阻止恶意注入数据库,但这并不能消除将SQL语法错误(有效的SQL注入)引入SQL语句的可能性。

此外,通过使用压缩功能,它将消除在不经过解压缩的情况下查看或搜索数据库内容的可能性。

这是一种避免SQL注入的新方法,但会导致比实际解决的问题更多的问题。你真的需要坚持尝试和真正的解决方案。