首页 > 解决方案 > ASP.NET Core 如何覆盖无效值消息

问题描述

我正在使用 Acunetix 进行渗透测试,以下查询“api/venues?gameId=1'”()%26%25vAtC(9571)”得到以下响应:

{
    "status": 400,
    "userMessage": [
        "There are validation errors"
    ],
    "validationErrors": [
        "The value '1'\"()&%<acx><ScRiPt >NJMi(9780)</ScRiPt>' is not valid."
    ]
}

Acunetix 将其检测为可能的 XSS 安全问题,我想覆盖验证错误消息,以避免在整个应用程序中出现这种情况。

标签: asp.netapiasp.net-corexss

解决方案


模型绑定消息可以像这样自定义:

services.AddMvcCore().AddMvcOptions(options =>
{
    options.ModelBindingMessageProvider.SetNonPropertyAttemptedValueIsInvalidAccessor(s => "The provided value is invalid.");
});

推荐阅读