我使用Asp.Net 4,C#和MS SQL。编码/解码文本框
对于我的网站,我使用MS默认解决方案来防止跨站点脚本。
我也习惯在我的逻辑中编码所有用户的输入,以便这些数据可以存储在我的数据库中。
目前我正在使用GridView来做一些基本的CRUD操作,但我面临一个问题。
- CREATE:用户可以插入任何输入,我的逻辑将编码并保存在数据库上。
- READ:GridView控件可以在“标签”的结果显示,从数据库用户的输入进行解码,这要归功于该领域属性“HtmlEnscape真或假
- 更新:在这里我的问题在编辑的时候了!文本框显示从编码的数据库(以这种方式保存)的用户输入,但我需要重新编解码,显示它给用户,从而能以友好的方式进行编辑,并重新保存。
我问题: - 如何做? - 因为我的应用程序中有许多页面有很多TextBox,所以如何集中这种行为?
谢谢你们的帮助!
显示时应该只有HtmlEncode数据,而不是在存储数据时。换句话说,将其存储为未编码,并且只在显示时进行编码。 – 2011-06-06 11:39:43
我不同意这一点。编码用户输入并存储在数据中可以防止恶意用户修改数据库。顺便说一句我的原始问题? :-)谢谢 – GibboK 2011-06-06 11:44:32
编码根本无法保护数据库。 – blowdart 2011-06-06 11:45:59