就 SQL 注入而言,我完全理解参数化 string
参数的必要性; 这是本书中最古老的技巧之一。但是什么时候才能证明 没有参数化 SqlCommand
是正确的呢?是否有任何数据类型被认为不参数化是“安全的”?
例如: 我不认为自己在任何地方的 附近的 SQL 专家,但我不能想到任何情况下,它会是潜在的脆弱的 SQL 注入接受一个 bool
或 int
,只是连接到查询。
我的假设是正确的吗,或者这可能在我的程序中留下一个巨大的安全漏洞?
为了澄清,这个问题被标记为 C # ,它是一种强类型语言; 当我说“参数”时,想象一下类似于 public int Query(int id)
的内容。