【发布时间】:2011-01-13 02:28:33
【问题描述】:
昨天我与一位开发人员交谈,他提到了一些关于限制数据库字段插入的内容,例如--(减号)等字符串。
在同一类型中,我知道这是一个很好的方法来转义 HTML 字符,如 <、> 等,而不是 --。这是真的?我需要担心--、++吗?它更像是神话还是旧事物?
更新
非常感谢所有的答案,这样很容易理解,因为我对所有这些都是新手。 好吧,更具体地说,在这种情况下,我们的讨论是关于我们正在开发的 C# ASP.NET MVC 网站,所以那里有一个复杂的开户表单,其中包含重要信息,所以我不确定 MVC 是否使用 Linq与数据库的接口是否已经带有这种保护。因此,如果有人可以提供一些关于它的提示,那就太好了。 再次感谢
【问题讨论】:
-
强制:xkcd.com/327 就是说,限制可以放入数据库的内容并不是一个非常普遍甚至安全的方法。您如何从用户输入到数据库插入?
-
这不是您在字段中放置的内容,而是您将其放置在那里的方式(以及显示字段内容的方式)
-
-- 在 MS SQL Server 中开始单行注释(也包括其他数据库包)。
-
我根据您增加的细节更新了我的答案,特别是使用 ASP。
标签: database escaping sql-injection protection