问题描述
很简单的一句:stringstr=Request.Form.Get("txt");str=Encoder.HtmlEncode(str);如果txt传递的是中文“你好”,Encode.HtmlEncode后是你好可是我不能将这样的字符保存到数据库吧?这样DBA则不是要疯了,我自己查问题也相当不方便啊。请问大家如何解决这样的问题。谢谢。
解决方案
解决方案二:
Encoding.UTF-8.GetString
解决方案三:
你为啥要进行一次HtmlEncode呢》?
解决方案四:
to:net_lover防止跨站攻击。数据入库前编码。数据回显时还要编码后输出。
解决方案五:
有知道答案的不?求解啊。
解决方案六:
入库前不需要编码,输出到页面时才需要编码
解决方案七:
有知道答案的不?求解啊。
解决方案八:
引用5楼jshi123的回复:
入库前不需要编码,输出到页面时才需要编码
您了解下asp.net安全方面的最佳实践,应该就会知道入库前是一定要编码的。
解决方案九:
本帖最后由 net_lover 于 2012-03-13 09:01:58 编辑
解决方案十:
引用8楼net_lover的回复:
看了AntiXSS提供的方法,Microsoft.Security.Application.Encoder.HtmlEncode没法解决你的问题,你可以自己写一个HtmlEncode你可以看看Microsoft.Security.Application.Sanitizer.GetSafeHtmlFragment()是否满足
感谢您的回复。GetSafeHtmlFragment是允许html,而我是不允许html
时间: 2024-11-27 12:46:05