Как запретить запросы, которые не имеют заголовка происхождения, или не из разрешенного происхождения? ⇐ C#

Место общения программистов C#
Anonymous
Как запретить запросы, которые не имеют заголовка происхождения, или не из разрешенного происхождения?

Сообщение Anonymous »

Использование .NET CORE 3.1 Мне нужно запретить запросы CORS, за исключением белого списка. Существует также возможность установить CorsAllowall из Configuration.

Код: Выделить всё

        var corsAllowAll = bool.Parse(config["CorsAllowAll"]);
var corsAllowHosts = config["CorsAllowedOrigins"];

var splitOrigins = corsAllowHosts.Split(',', StringSplitOptions.RemoveEmptyEntries);

services.AddCors(options =>
{
if (corsAllowAll)
{
Log.Information("Cors Allowing: AnyOrigin");
options.AddPolicy(name: CORS_POLICY,
builder => { builder.AllowAnyOrigin(); });
}
else
{
Log.Information($"Cors Allowing: {string.Join(',', splitOrigins)}");
options.AddPolicy(name: CORS_POLICY,
builder => { builder.WithOrigins(splitOrigins); });
}
});
< /code>
и в методе настройки запуска у меня есть: < /p>
        app.UseCors(CORS_POLICY);

app.UseEndpoints(endpoints =>
{
endpoints.MapControllers().RequireCors(CORS_POLICY);
});
< /code>
Но это не является непрерывным запросами Cors. < /p>
Если начало начала не установлено, оно позволяет все.[11:38:51 INF] CORS policy execution failed.
[11:38:51 INF] Request origin http://google.com does not have permission to access the resource.
Тем не менее, запрос все еще выполняется и возвращает запрошенные данные.
Почему политика Cors не применяется к запросу? endpoints.mapcontrollers (). reptecors (cors_policy) будет применяться ко всем конечным точкам.>

Подробнее здесь: https://stackoverflow.com/questions/713 ... llowed-ori

Вернуться в «C#»