gpt4 book ai didi

asp.net - TinyMCE、AntiXSS、MVC3 和 GetSafeHtmlFragment

转载 作者:行者123 更新时间:2023-12-04 15:25:25 36 4
gpt4 key购买 nike

我已经阅读了很多关于 XSS 和如何处理的关于 SO 的帖子。通常,共识是白名单而不是黑名单,避免使用正则表达式(太多变体无法处理)。

我正在开发一个 ASP.Net MVC3 应用程序。我需要能够显示来自用户条目的 HTML(例如

  • 等...),但我不希望有任何 XSS 风险。

    我正在通过 Nuget 使用 AntiXSS 包。在我的模型中,我有
    [AllowHtml]
    public string UserDetails{ get; set; }

    在我看来,我将 TinyMCE 连接到了 textarea。

    在我的 Controller 中,我从 View 中获取帖子并对其进行清理:
    using Microsoft.Security.Application;
    ...
    string SanitizedDetails = Sanitizer.GetSafeHtmlFragment(model.UserDetails);

    我的问题:我做对了吗?我是否受到了大多数 XSS 问题的保护,或者我是在吠叫错误的树吗?

最佳答案

您被张贴在某些表格上。允许 html 是一项危险的操作,因此您正在尝试尽可能地减轻它。你的方法在这里很好。

还有其他选项可以提供帮助,但不幸的是,并非一切都已准备好生产。
有各种浏览器部分支持的内容安全策略 header 。
前任:
http://www.w3.org/TR/CSP/

所以你所拥有的是体面的,但如果你想冒险进入内容安全策略,你可以稍微增强一下(对于一个)

如果您有兴趣,我会在这里讨论很多 XSS 攻击。
http://www.pluralsight-training.net/microsoft/Courses/TableOfContents?courseName=hack-proofing-dotnet-app

您可能希望在渲染之前(和保存之前)包含额外的清理,以防另一次攻击(例如 sql 注入(inject))将 xss 代码插入到您的 html 中。

关于asp.net - TinyMCE、AntiXSS、MVC3 和 GetSafeHtmlFragment,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10875458/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com