无需HTML编码即可安全地呈现HTML

| 假设您要允许非技术用户控制显示在公共站点/应用程序上的内容。如果内容仅是文本,则可以在显示文本时对文本进行HTML编码,以防止恶意脚本在进入数据库后被执行。 当您想将数据显示为HTML时(即通过“所见即所得”编辑器输入数据时),可以使用哪些选项来防止这种情况?每次我要显示数据时,我都必须用黑名单清除数据吗? 另外,假设数据已经被破坏。当HTML编码不可行时,我真的在寻找方法来限制这种攻击所造成的损害。 出于我的目的,该站点正在运行ASP.NET MVC 3,并且正在使用jQuery。     
已邀请:
您始终可以将元素和属性名称列入白名单,而不是列入黑名单。 .NET HTML白名单(反xss /跨站点脚本)讨论了将.NET HTML清理程序列入白名单。 其他选项包括在一次性站点的iframe中加载内容,但这不会阻止内容进行某些类型的攻击-重定向到网络钓鱼页面,开始下载恶意软件,扫描本地网络,使用XSRF漏洞利用XSRF漏洞。用户的凭据等     

要回复问题请先登录注册