首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >潜在危险请求服务库

潜在危险请求服务库
EN

Stack Overflow用户
提问于 2012-12-28 22:16:09
回答 1查看 2.1K关注 0票数 3

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

从客户端检测到一个潜在危险的Request.QueryString值(Body=\"\")。

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

AllowHtml公共字符串体{ get;set;}

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

然而,我需要一个ServiceStack的解决方案。他们的文档很薄,谷歌搜索也没有任何线索。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-28 22:43:22

看起来,您正在ASP.NET应用程序中承载您的ASP.NET服务。

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

代码语言:javascript
代码运行次数:0
运行
复制
<system.web>
    <httpRuntime requestValidationMode="2.0" />
    ...
</system.web>

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

代码语言:javascript
代码运行次数:0
运行
复制
<location path="hello">
    <system.web>
        <httpRuntime requestValidationMode="2.0" />
    </system.web>
</location>  

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

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

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

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14076483

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档