1. 我已经使用了参数化查询次数的次数,我知道它有助于防止SQL注入。但是,我想知道我是否知道什么是在参数化查询中起作用的基本逻辑,以防止SQL注入,这很简单,但我不知道。我试图搜索Google是什么是基本的,但是每次我找到一个示例时,如何在ASP.NET中使用参数化查询。
  2. 我知道要制作一个特殊的课程,以阻止SQL注入中使用的特殊字符(例如', - - 等),但是只能阻止特殊字符完全阻止SQL注入吗?
  3. 最后一件事是.NET参数化查询可以完全停止SQL注入吗?
有帮助吗?

解决方案

我认为参数化查询不取决于准备好的查询数据库支持。数据库驱动程序本身以安全的方式传递值,以及如何完成该值取决于驱动程序本身。

PostgreSQL手册解释了有关参数化查询的基础知识 在数据库级别上。

另一方面,参数化查询简化了您传递语言环境敏感数据。例如,用户进入100,00小数点,但是您的服务器期望100.00个值。

其他提示

在我知道的每个数据库引擎中,都使用“准备”(又称“参数化”或“静态”)查询SQL注入。如果将其传递给参数,则无需过滤任何字符。如果您曾经编写以代码为代码的SQL,而不是用参数编写的SQL,则可能有SQL注入的风险。您应该使用所使用的数据库的安全手册,它很可能会在SQL注入方面有一个部分,但只需阅读所有内容即可。我敢打赌,这将花费一个不到一个小时的时间,并会为您提供坚实的指导和信心,即您最遵循适用于数据库的实践。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top