转义输出是否会以任何方式阻止SQL注入?

问题描述 投票:1回答:2

我正在准备Zend PHP 5.5认证,我在学习指南中发现了一个似乎有错误答案的问题。我只是不明白 - 他们的问题或答案中是否存在错误,或者是否以任何方式转义输出都会阻止SQL注入?

我在网上搜索,但我找不到任何信息来证明这一点。

如果转义输出确实可以防止SQL注入,那么有人可以解释一下究竟是什么吗?如果你能举一个例子,那就太好了。

非常感谢你。

编辑:

我的问题不是关于如何防止SQL注入,但是如果输出转义以任何方式阻止SQL注入,那么请不要将我的问题标记为重复。重复的问题没有给我任何答案。

php sql security output sql-injection
2个回答
1
投票

我的问题不是关于如何防止SQL注入,但是如果输出转义以任何方式阻止SQL注入,那么请不要将我的问题标记为重复。重复的问题没有给我任何答案。

好的,你的问题的答案是“不”。也可以看看:

如果您在处理注入的查询后转义输出并不重要,如果我可以将恶意软件写入您的文件系统并直接访问它。

学习指南错了。


0
投票

我认为这只是一个解释问题:如果你将术语输出解释为'留下某个系统/进程/组件/函数的数据'并将SQL作为'将*_escape_string或类似函数应用于放入SQL的值中的转义'代码',然后,是的,输出转义可能有助于保护您免受SQL注入。

请注意,它表示“可能有所帮助”,因为有些情况下这些函数无效,最明显的是当字符串文字中没有使用转义值时。

© www.soinside.com 2019 - 2024. All rights reserved.