问题标签 [request-validation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2229 浏览

php - 在表单请求上添加规则验证时 Laravel 5 错误:Container.php 第 776 行中的 ReflectionException:类来宾不存在

当我在控制器方法中使用请求验证时,会返回此错误:

Container.php 第 776 行中的 ReflectionException:来宾类不存在

我的请求文件如下:

我的控制器如下:

我的请求是针对路由api/register调用的store方法。

当我在 POST 规则中删除数组的索引时,不会显示错误。

有人可以帮助我吗?

0 投票
1 回答
526 浏览

c# - 什么可能触发 MVC5 框架管道中的验证异常

不确定这是否是问这个问题的正确地方,但我在使用 MVC5 在字符串中发布 HTML 时遇到了一个问题。问题是:一旦控制器被请求击中并且要发送响应,ASP.NET MVC 框架中还有什么可能触发如下验证错误?

从客户端检测到具有潜在危险的 Request.Form 值(messagebody="

在执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪来识别有关异常起源和位置的信息。

堆栈跟踪:

[HttpRequestValidationException (0x80004005):从客户端 messagebody=" html tags here " 中检测到潜在危险的 Request.Form 值。System.Web.HttpRequest.ValidateString(String value, String collectionKey, RequestValidationSource requestCollection) +12339710
System.Web.HttpValueCollection.Get(String name) +90
System.Web.Caching.OutputCacheModule.CreateOutputCachedItemKey(String path, HttpVerb verb, HttpContext context , CachedVary cachedVary) +956 System.Web.Caching.OutputCacheModule.OnLeave(Object source, EventArgs eventArgs) +1212
System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +92 System.Web.HttpApplication.ExecuteStep (IExecutionStep 步骤,Boolean& completedSynchronously)+165

我知道 ASP.NET MVC 中的内置请求验证,并且我已使用属性注释了我的视图模型的属性[AllowHtml],如下所示:

..所以到达控制器动作并反序列化为对象没有问题。然后在我的控制器的操作中,我让框架将发布的消息的内容反序列化为 MyClassVM 实例,如下所示:

然而,该private void Application_Error(object sender, EventArgs e)方法已达到和 Server.GetLastError(); 由于请求中的 html 代码,在该阶段包含验证异常。

为什么?一旦控制器几乎完成了它的工作,什么可能触发验证错误?它可能是响应中间的过滤器中的东西吗?(有一些过滤器,但它们看起来非常基本的身份验证过滤器,另一个修改 Json 序列化程序以替换某些日期(如果有的话)。)。

同样在调试时,我能看到的最后一个代码是一些可以访问 System.Security.Principal.IIdentity 的属性,但我不明白这可能是个问题..

更新:我尝试在控制器操作的顶部添加 [ValidateInput(false)] 但这没有任何区别。还检测到潜在危险的 Request.Form 值并触发异常。

更新:我还尝试禁用在控制器被击中之前正在执行的自定义模型绑定器。但是没有运气,问题一定是在控制器的操作执行之后发生的其他事情,并且从已经反序列化的发布的视图模型中正确读取了字段。

谢谢

0 投票
1 回答
62 浏览

orchardcms - Orchard CMS 中的 HttpRequestValidationException

使用来自 GitHub 的 Orchard 1.9,如果我尝试通过导航到强制页面验证异常

~/Users/Account/LogOn?ReturnUrl=<script%20src%3Dhttp%3A%2F%2Flocalhost%2Fj%20

最终结果是黄屏死机,而不是 Orchard 自定义异常消息。

处理此问题的推荐 Orchard 方法是什么?理想情况下,我想显示 Orchard 错误页面。

仅供参考,我注意到 GET LogOn 操作(AccountController)没有 ValidateInput 属性,但 POST 操作有。

潜在解决方案:

我将 web.config 中的 customErrors 元素设置为具有 defaultRedirect="Error.html" 属性,其中 Error.html 是一个新文件。这当然不符合我最初显示 Orchard 错误页面的目标。

这似乎不对,因为修改 Orchard 核心(即使它只是 web.config)感觉不对,尤其是在考虑通过从 GitHub 存储库中提取最新的 Orchard 代码来更新 Orchard 版本时。

0 投票
0 回答
181 浏览

c# - 如何在 webapi 中处理 HttpRequestValidationException?

我想从我开发的错误处理程序返回错误消息。

我遇到了这种情况,其中包含无效字符的 URL 没有到达我的处理程序,因为我猜它们在管道的早期以某种方式被处理。

此类 URL 的示例为: http ://www.example.com/MyAction<script

有没有办法以优雅的方式处理 webApi 中的这些特殊字符?我想避免只为这个开发一个自定义处理程序。

我试过的:

  1. 实施void Application_Error(Object Sender, EventArgs e)但没有运气,也无法在 Application_EndRequest 上得到错误。

  2. 尝试操作 requestPathInvalidCharacters 的 HttpRunTime 配置,但这没有用。

提前致谢。

编辑:

所以我设法通过将 requestValidationMode="2.0" 添加到 HttpRunTime 配置来实现我想要的。

现在我的问题是:

这样做有什么缺点?

0 投票
0 回答
876 浏览

java - 如何清理输入的 http 请求实体?

我通过安全辅助检查了我的代码,它显示未经验证就使用了不受信任的数据

并尝试通过执行 null 和空检查来验证 request.getContenttype() ,即使遇到同样的错误。

请帮我解决这个问题。提前致谢。

0 投票
2 回答
141 浏览

laravel - 找不到控制器方法奇怪的行为

我的 laravel 应用程序中有一个 AuthController,在该控制器内我有几种方法:

由于某种原因,现在我的postRegister()函数不起作用,当我出于某种原因在邮递员中运行它时,它总是执行getRegister(),当我取出时getRegister()它说找不到控制器方法。

这是我的路线:

编辑:我已将问题缩小到我的请求文件,路径是正确的,但由于某种原因,当我尝试在 postRegister(RegisterRequest $request) 中使用它时,postRegister 函数没有被执行,没有抛出错误,它工作在此之前,我不知道现在是什么导致了这个问题。

我想我还应该补充一点,我创建了在我的应用程序中使用的自定义命名空间。

0 投票
0 回答
703 浏览

asp.net-mvc - Sitecore / ASP.NET 请求验证不会禁用

有谁知道为什么我无法关闭请求验证。我目前有一个使用 Sitecore 8.1 设置的 ASP.NET MVC 应用程序。

我在控制器上创建了一个操作方法,用于将一些数据导入到 sitecore 数据库中(细节超出了这个问题的范围)。

我发送的字段之一包含 HTML 标记,因此我收到以下错误消息:

由于某些未知原因,我无法关闭此功能。

我尝试了以下方法:

  1. 在我的模型的特定属性中添加了 AllowHtml。
  2. 使用 validateRequest="false" 将 pages 元素添加到 Web 配置
  3. 确保设置了 httpRuntime 元素属性 requestValidationMode="2.0"
  4. 是的,我已经确认正在使用正确的操作方法。如果我从 POST 中删除 HTML 标记,则成功。
  5. 我已将 [ValidateInput(false)] 添加到 Controller Action 方法中。

A 想不出还能去哪里看。有什么想法吗?抱歉,我知道这个问题之前已经发布过,但我已经尝试了一切。

0 投票
1 回答
1309 浏览

php - Laravel:一个字段中相同规则的验证消息

我是 Laravel 的新手,我尝试验证一个请求。我必须遵循请求类:

我的问题是:

  • 我必须检查该组是否存在并且没有被删除。这是第一个“存在”规则。
  • 而且我必须检查当前登录的用户是否属于该组。第二个“存在”规则。

我的问题是:

  • 当两个存在中的任何一个失败时,我怎么知道哪一个失败了?
  • 我想为这些存在检查返回不同的错误消息。我该怎么做?
  • 我是否必须为此编写自定义验证?

PS:我正在使用 Laravel 5.3

0 投票
1 回答
3344 浏览

c# - 使用 ASP.Net MVC 5 进行请求验证

过去,我已经习惯于使用请求验证作为 XSS 的第一道防线。

但是,我似乎无法获得验证。

无论此配置如何,都不会引发错误并且不会运行验证。是否有其他一些全局方法来启用/禁用我缺少的验证?

0 投票
1 回答
744 浏览

validation - 在经典 ASP 中全局验证用户输入

您最喜欢在经典 ASP 中全局验证用户输入的最佳方式是什么

我继承了一个遗留的经典 ASP 项目,我需要在其中验证用户输入。目前没有进行验证。在 ASP.net 中可以设置-在经典 ASP<pages validateRequest="true" />web.config是否有类似的东西?

我能想到的唯一另一种验证用户输入的方法是进入每个页面 - 我希望有人有一个更有效的想法:-)

提前非常感谢!