asp.net-mvc-3 – 禁用ASP.NET-MVC3中的unicode字符编码
在我的网站上,每个文本都作为UTF-8提供.
由于现在每个浏览器都支持unicode字符,我想按原样使用它们. 通过使用数字字符引用替换任何unicode非常有用,例如á.供参考检查:http://en.wikipedia.org/wiki/Unicode_and_HTML#HTML_document_characters 当然,这样网页可以在最古老的网景中正确呈现,但是例如谷歌分析电子商务模块在理解这些特殊编码字符方面有些麻烦. 有没有办法全局禁用数字字符参考编码? 例如,我想用剃须刀写: <span class="title">@ViewBag.Title</span> 我想要在输出上显示: <span class="title">Számítástechnika</span> 不是这个: <span class="title">Számítástechnika</span> 我不是要禁用html编码,所以Html.Raw不是一个解决方案,例如我无法确保@ViewBag.Title不会满足这样的内容: <span class="title"><script>alert('injected hahahah');</script></span> 所以我满足于特殊html字符的自动编码.这不是我想禁用的. 我不想重构所有的代码,我认为应该有一个“全局切换”来禁用在剃刀中使用字符串参数的这种行为.有没有办法做到这一点? 我也可以明确禁止数字字符引用,例如新的MvcHtmlString(myString,一些参数)吗? 解决方法
我担心您无法关闭此编码功能.这个“漂亮”功能由
WebUtility.HtmlEncode提供,您无法影响编码.
但是,在启动.net 4.0时,您可以自定义编码行为,创建一个继承自HttpEncoder的类并在web.cofig HttpRuntimeSection.EncoderType中对其进行配置.但是您需要实现自己的自定义编码逻辑. 幸运的是.net 4.5附带了一个新的HttpEncoder来编码坏的东西(比如< script>)然而正确处理称为AntiXssEncoder的Unicode字符 所以你只需要在web.config中添加它: <system.web> <httpRuntime encoderType="System.Web.Security.AntiXss.AntiXssEncoder,System.Web,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a"/> </system.web> 如果您尚未使用.net 4.5,可以在以下帮助下实现AntiXssEncoder 这是一篇如何设置它的文章:Using AntiXss As The Default Encoder For ASP.NET(虽然它可能已经过时) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net – 如何在抛出请求验证异常时显示自定义错误页面?
- 相当于ASP.NET中的ASP.NET MVC TempData
- ASP.NET – 如何引用不在app_code中的类
- asp.net-mvc – 如何在Google.Apis调用中使用ASP.NET MVC O
- 如何配置asp.net与.net 4.5
- asp.net-mvc – 为什么删除:ASP.NET MVC CheckBoxList(没有
- asp.net-core – 如何使用asp-for标签绑定数组?
- asp.net-mvc-3 – 将ASP.NET MVC 3 Web角色添加到Windows A
- ASP.NET身份验证 – 多个应用程序的一个登录系统
- asp.net-mvc – 使用401发送消息:Asp.net Web-api
- .net – 在生产环境中应该使用’Integrated Secu
- 剃刀 – 错误RZ3007:目标标签名称不能为空或空格
- asp.net-mvc – MVC Razor String Concat
- asp.net – 提供的URI方案’https’无效;预期’h
- asp.net – GridView EmptyDataTemplate
- asp-classic – 经典asp – 更好地做很多响应.写
- asp.net-mvc – 如何在cshtml中停止ASP.NET MVC视
- 在哪里可以获得有关使用MVC / ASP.NET启动C#编程
- asp.net-mvc – 提供DDD,但需要一些其优点
- asp.net-mvc – 了解nopCommerce的MVC标签