我使用linq来加载数据并将数据保存到数据库中。由于大部分要保存或加载的数据都是用户输入,并且为了避免保存原始数据的所有可能风险,我决定使用HtmlEncode input.Here来总结我所做的工作。
在将输入保存到database.
问题是,我必须创建另一个业务对象来将从数据库获得的数据转换为用户输入的实际原始数据,从而使我的linq业务对象变得有些无用。
我做错了什么吗?如果我使用ling到sql,是否真的需要在将数据转换到数据库的过程中将其转换成数据库?
发布于 2009-07-17 14:35:31
听起来,您应该将原始数据存储在数据库中,然后在向用户显示数据之前始终对其进行编码。在使用LINQ时,不必担心SQL注入,因为它在幕后使用参数化查询。
发布于 2009-07-18 03:53:27
只需将原始的HTML存储到数据库中,并在公开显示时使用HTMLEncode() (甚至更好的是Microsoft的反交叉站点脚本库的HTMLEncode()方法)。
http://www.microsoft.com/downloads/details.aspx?FamilyId=051ee83c-5ccf-48ed-8463-02f56a6bfc09&displaylang=en
https://stackoverflow.com/questions/1136327
复制相似问题