我使用Asp.Net 4,C#和MS SQL。
对于我的网站,我使用MS默认解决方案来防止跨站点脚本。
我还习惯在我的逻辑中对所有用户的输入进行编码,以便可以将这些数据存储在我的数据库中。
目前我正在使用GridView进行一些基本的CRUD操作,但我遇到了问题。
我的问题: - 怎么做? - 因为我的应用程序中的许多页面中有很多TextBox,如何集中这种行为?
谢谢你们的帮助!
答案 0 :(得分:3)
首先,我要说在存储到数据库之前不应该编码。您可以在输出点进行编码 - 然后将其放入文本框,网格或任何位置。
这有一些优点;
对于文本框,实际编码取决于文本框的类型 - 单行文本框是属性编码,多行文本框是HTML编码,并使用asp.net文本框控件编码的文本属性为您,使用正确的方法。
通过存储“原始”HTML,您无需解码,因为控件是自动编码的,您无需集中管理。