存储过程是否会防止数据库被注入?我做了一些研究,发现如果我们只使用存储过程,Server、Oracle和MySQL对SQL注入是不安全的。然而,在PostgreSQL中不存在这个问题。PostgreSQL核心中的存储过程实现是否阻止了SQL注入,还是有其他原因/差异?如果我们只使用存储过程,我可以在PostgreSQL中使用SQL注入吗?
发布于 2010-11-19 22:58:52
简而言之,存储过程不会阻止SQL注入。这取决于如何处理存储过程中的动态SQL。
要获得更完整的答案,请查看此处发布的内容:https://stackoverflow.com/questions/627918/am-i-safe-against-sql-injection
发布于 2010-11-21 03:31:54
查看这些链接,图片就会变得更清晰:
http://anubhavg.wordpress.com/2008/02/01/are-stored-procedures-safe-against-sql-injection/
http://www.sqlmag.com/article/sql-server/protecting-against-sql-injection.aspx
"...Measures以避免SQL注入
发布于 2010-11-21 00:40:33
如果您正确地使用了SP,那么您在SQL注入中是非常安全的(当然,假设您仍然进行适当的输入验证)。如果。
啊,但是正确使用SP是什么意思呢?
我经常看到的两种最常见的SP错误用法,即使在存储过程中也会导致SQL注入,它们是:
https://security.stackexchange.com/questions/553
复制相似问题