当前位置:  开发笔记 > 后端 > 正文

ASP.NET MVC:如何在Html编码内容中允许一些HTML标记?

如何解决《ASP.NETMVC:如何在Html编码内容中允许一些HTML标记?》经验,为你挑选了1个好方法。

在MVC 2到Html.Encode()字符串中是否存在一些神奇的现有代码并允许某些html标记,如段落标记和中断?(从Linq到SQL数据库字段)

一个可怕的代码示例来实现这个效果:

Html.Encode(Model.fieldName).Replace("<br />", "
")

真正好的是重载一些东西并传递给一个充满允许的html标签的数组(或对象).



1> 小智..:

基于正则表达式创建自己的白名单并不是一个好主意,因为您可能会无意中为XSS打开安全漏洞.

来自Sanderson的书"Pro ASP.NET MVC3 Framework":"......唯一可行的缓解是严格的,基于白名单的过滤:使用像HTML Agility Pack这样的库来确保用户提供的标记包含您明确的标记允许."

Sanderson继续提供一个站点的链接,该站点演示了如果使用正则表达式方法,您必须测试的各种XSS技术.查看http://ha.ckers.org/xss.html

推荐阅读
殉情放开那只小兔子
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有