问题标签 [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.
c# - 如何与异步 foreach 和 IAsyncEnumerable 一起返回 ActionResult
我有这个签名的控制器方法:
它工作正常,但我需要做一些请求验证并相应地返回 401、400 和其他代码,它不支持。或者,以下签名无法编译:
错误:
无法将类型“Microsoft.AspNetCore.Mvc.UnauthorizedResult”隐式转换为“MyApi.Responses.MyDto”
完整的方法:
有任何想法吗?似乎无法相信微软已经设计IAsyncEnumerable
为在没有返回其他任何东西的可能性/灵活性的情况下使用。
php - Laravel 请求验证对象
我想过滤来自 API 有效负载的一些数据,我必须在其中检查数据的某些部分是否是对象,例如:
我想确定来自有效负载的“对象”实际上是一个对象,它包含属性而不是整数,也不是数组或任何其他类型......而是一个对象。有什么办法可以通过使用 Laravel 的本机验证器来解决这个问题,我必须创建一个自定义规则?
谢谢
php - 类 App\Http\Requests\MyCustomRequest 不存在 - Laravel 6
应该发生什么 更新我的模式或至少访问此方法应该没有问题。
问题:我不知道为什么每次提交表单时都会出现 class not found 错误。
我的控制器文件App\Http\Controllers\ProductController.php
我的请求文件类App\Http\Requests\UpdateProductRequest.php
php - 验证后挂钩未重定向到表单页面
我正在使用 laravel 7 为我的表单构建一个小型验证器,我需要在标准验证之后添加一个自定义逻辑,所以我使用了doc中的 after validation hook 。我的问题不在于控制器的逻辑,而是在验证发生之后我添加了自定义错误消息,我没有被重定向到原始表单。我错过了什么?
python - 使用 webargs 验证 AWS lambda 中的查询字符串参数和请求正文
我试图找出验证使用 AWS API 网关创建并由 Python Lambda 函数支持的 API 的查询字符串参数的方法。API Gateway 可以验证是否存在所需的查询字符串参数。但是,我找不到其他验证的方法,例如确定某个参数的长度是否在某个限制范围内(例如 config_id 至少应为 7 个字符长)。使用 API Gateway 请求验证可以对请求正文进行此类验证。参考这个链接。但是,对于查询字符串参数,仅需要/不需要验证是可能的,因为它不使用任何 json 模式进行验证。
因此,为了克服这个问题,我决定尝试Python 中的 webargs 模块来验证查询字符串参数。它通常用于对使用 Python 框架(如 flask 或 django)创建的 API 进行请求验证。我正在使用核心解析器(请参阅webargs doc),如下所示:
这就是在 lambda 函数中完成验证的方式。但是,只有所需的验证才能正常工作。当我传递长度为 5 的 config_id 时,它不会返回任何错误并在 lambda 函数中继续进行。
这可能出了什么问题?解析器似乎工作,但是,验证功能没有。任何帮助表示赞赏,因为我是新手。此外,是否有更好的方法在 lambda 函数中进行验证,尤其是对于 queryStringParameters?它可以由代码处理,但我们可以有许多参数和许多 API,这使得为所有此类验证编写代码成为一项繁琐的任务。webargs 模块派上用场了。
laravel - Laravel 验证请求过滤器字段,字段名称中带有点(句点)
这是在 laravel 中验证表单请求,请求包含过滤器,过滤器中的字段名称存在句点(点)。
样品请求网址
...?filter[entity.abc][]='value'
这里 entity.abc 实际上是一个字符串,但是当为 'filter.entity.abc' 给出规则时,laravel 认为它是对象数组
这实际上是
所以我们需要为第二个点制作正则表达式,相当于:
以上总是返回 true,即使存在无效的 uuid
laravel - Laravel 请求验证不适用于邮递员请求
对于以下请求,当正文参数作为 JSON 发送时,它总是验证请求(因为没有触发验证规则),但是当以 form-data 或 form-urlencoded 发送时,它会通过验证规则。这是 Laravel 的限制吗?
amazon-web-services - AWS API Gateway 错误 - [429] 已达到此 API 的最大请求验证器数量
我正在为我的 API 使用 AWS API Gateway 请求验证功能。您可以在此处的文档中查看更多详细信息。为了部署 API,我使用了无服务器框架。以下是serverless.yml的片段。
端点由 lambda 函数支持,定义如下:
到目前为止,我有 8 个实体,每个 REST 方法有 5 个端点——POST、GET ID、GET All、PUT、PATCH。其中,请求验证器已附加到方法 POST、PUT 和 PATCH。因此,共有 24 个端点使用请求验证器。
在运行无服务器部署时,我收到以下错误消息:
配额文档页面没有提到请求验证器数量的具体限制。另外,我打算有更多的方法,但是,似乎我已经使用请求验证器达到了 24 个函数的限制。
如何绕过此限制并确保无服务器部署命令不会失败?另外,有人知道允许多少个请求验证器吗?
帮助将不胜感激!提前致谢!
asp.net-core - 即使没有明确的 [AutoValidateAntiforgeryToken],是否也会自动添加防伪令牌?
语境
我注意到,在 VS 2019 中从其开箱即用的模板创建新的 ASP.NET Core Razor 页面应用程序后,即使是具有最纯粹模型类的最纯粹的html 表单也会呈现输出<input name="__RequestVerificationToken" type="hidden" value="...">
问题
我是否遗漏了什么,并且在某处有一个明确的属性/语句指示 ASP.NET Core 添加防伪,或者现在这是默认设置?(这使得使用[AutoValidateAntiforgeryToken]
过时)
...或者...
它只是<input name="__RequestVerificationToken" type="hidden" value="...">
总是无条件呈现的,并且[AutoValidateAntiforgeryToken]
我可以打开服务器端验证吗?这种情况下,如果验证有效与否,我该如何进行吸烟测试?
示例代码