12
当参数不是字符串时,不对SQL查询进行参数化是否安全?
在SQL注入方面,我完全理解了参数化string参数的必要性。那是书中最古老的把戏之一。但是什么时候可以证明不对参数进行参数化SqlCommand呢?是否将任何数据类型视为“安全的”而不进行参数化? 例如:我不会认为自己是SQL专家附近的任何地方,但是我无法想到在任何情况下都可能容易接受SQL注入以接受a bool或an int并将其直接连接到查询中。 我的假设是正确的,还是可能在程序中留下巨大的安全漏洞? 为了澄清起见,标记了这个问题 C#这是一种强类型的语言;当我说“参数”时,请想一想 public int Query(int id)。