gpt4 book ai didi

asp.net-mvc - 关于在 ASP.NET MVC 中放置 AntiXSS 调用的位置的建议

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

我试图在我的 ASP.NET MVC 应用程序中找到防止跨站点脚本的最佳方法。我计划使用 Microsoft 的 AntiXSS 库,主要从两个层面进行保护:1)保护常规文本框(即那些应该只包含纯文本的文本框和 2)保护可以生成 HTML 的富文本框。库本身非常简单,但我很难决定在哪里放置验证。我正在使用强类型 HTML 帮助程序并直接绑定(bind)我的模型/ View 模型,并希望避免在每个操作方法中单独应用 AntiXSS。此外,绝对不想在我的发布操作上关闭 validateinput,如果我在我的模型/ View 模型的属性之一中传递 HTML,这是一个要求。

是否可以在 ASP.NET MVC 中注入(inject) AntiXSS,以便在呈现 View (解码)和进入操作过滤器(编码)之前应用它?

提前致谢

最佳答案

您可以覆盖 OnActionExecuting System.Web.Mvc.Controller的方法并使用 ActionDescriptor ActionExecutingContext 上的属性(property)OnActionExecuting 的论点以确定当前正在运行的操作。然后你可以(我认为)修改 ActionParametersActionExecutingContext做编码。

您是否只打算使用它来检查顽皮的内容( AntiXss.GetSafeHtml ),还是还计划进行编码( AntiXss.HtmlEncode )?如果是后者,我会考虑它,因为它将您的输出格式限制为仅 HTML,这现在可能还可以,但如果要在其他任何地方使用此数据可能会受到限制。

关于asp.net-mvc - 关于在 ASP.NET MVC 中放置 AntiXSS 调用的位置的建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2058370/

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