gpt4 book ai didi

asp.net-mvc-4 - 潜在危险请求服务堆栈

转载 作者:行者123 更新时间:2023-12-03 22:16:07 24 4
gpt4 key购买 nike

我正在提交一个包含值的查询字符串 Body=%3Ch2%3E (Body=<h1>)到 servicestack 休息端点。结果是:

A potentially dangerous Request.QueryString value was detected from the client (Body=\"<h2>\").

我知道在 MVC 4 中,您可以允许特定字段的 Html 内容,如果您使用 [AllowHtml] 装饰模型中的字段,如下所示:

[AllowHtml] public string Body { get; set; }

这样做了,但错误仍然存​​在。怀疑是服务堆栈没有正确参与验证过程,因此通过创建具有相同模型的纯 MVC 4 Controller 进行测试,并且工作正常。

但是我需要 ServiceStack 的解决方案。他们的文档很薄,谷歌搜索无处可去。

最佳答案

看起来您将 ServiceStack 服务托管在 ASP.NET 应用程序中。

您可以将以下内容添加到 <system.web>您的 web.config 文件的部分,以禁用整个应用程序的请求验证:

<system.web>
<httpRuntime requestValidationMode="2.0" />
...
</system.web>

如果您只想对特定端点而不是整个应用程序禁用请求验证,请使用 <location>在您的 web.config 中添加标签:

<location path="hello">
<system.web>
<httpRuntime requestValidationMode="2.0" />
</system.web>
</location>

这将禁用所有 /hello 的请求验证应用程序中的端点。例如 /hello?Body=%3Ch2%3E可以,但是 /bar?Body=%3Ch2%3E不会工作。

您可以在 following MSDN article 中阅读更多关于 ASP.NET 中的请求验证的信息。 .

如果您是自托管 ServiceStack 服务,显然您不应该担心这一点。

关于asp.net-mvc-4 - 潜在危险请求服务堆栈,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14076483/

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