gpt4 book ai didi

c# - 如何避免具有潜在危险的 Request.Form 值?

转载 作者:太空宇宙 更新时间:2023-11-03 19:11:23 35 4
gpt4 key购买 nike

首先,我知道和我类似的问题有几十个,但我没有找到令我满意的解决方案......

因此,我在这段代码中遇到了上述异常:

var returnUrl = Request.Params["returnUrl"] ?? Request.RawUrl;

在我向我的网站提交帖子后,mvc 开始准备响应页面,并在上面的代码上崩溃了。现在,这两个变量都不包含任何会导致此异常的代码。 MVC 以某种方式检测到我正在使用 Request 对象并抛出错误,而没有看我在做什么。我不想禁用这些安全检查,但我不知道还能做什么?

最佳答案

有同样的问题,刚刚找到了解决方案。当您从 Request 访问发布的值时,这些值会重新验证,并且由于某种原因 [AllowHtml] 在此特定验证中被忽略(可能是一个错误,已在 MVC 5 中测试).经过一番搜索,我偶然发现:

http://msdn.microsoft.com/en-us/library/hh882339(v=vs.110).aspx

将页面向下一点,在“在 ASP.NET MVC 中禁用请求验证”部分下,它提到了 Request.Unvalidated。此属性在绕过验证时返回请求对象,这样您就可以在不调用验证的情况下获取特定参数。

因此,不要使用 Request.Params["returnUrl"],而是使用 Request.Unvalidated["returnUrl"]

关于c# - 如何避免具有潜在危险的 Request.Form 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20341473/

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