#csrf #blazor #blazor-server-side #asp.net-blazor
#csrf #blazor #blazor-на стороне сервера #asp.net-blazor
Вопрос:
Наше приложение создано с использованием сервера Blazor и .razor pages, который взаимодействует с API Azure. Я хотел бы знать, следует ли нам внедрять для пользовательского интерфейса Blazor защиту от подделки CSRF / XSRF, если да, могу ли я получить некоторую информацию о том, как реализовать?
Я наблюдал за сообщениями о внедрении защиты от подделки для ASP.Приложения Net core MVC https://exceptionnotfound.net/using-anti-forgery-tokens-in-asp-net-core-razor-pages а также в блогах упоминалось, что страницы Razor по умолчанию реализуют проверку на подделку.
Но для Blazor хотелось бы знать, какому шаблону следовать?
Ответ №1:
Серверные приложения Blazor могут быть доступны из разных источников, если не будут приняты дополнительные меры для предотвращения этого. Чтобы отключить доступ из разных источников, либо отключите CORS в конечной точке, добавив промежуточное программное обеспечение CORS в конвейер и атрибут DisableCorsAttribute к метаданным конечной точки Blazor, либо ограничьте набор разрешенных источников, настроив SignalR для совместного использования ресурсов из разных источников.
Если CORS включен, могут потребоваться дополнительные шаги для защиты приложения в зависимости от конфигурации CORS. Если CORS включен глобально, CORS можно отключить для серверного концентратора Blazor, добавив метаданные DisableCorsAttribute к метаданным конечной точки после вызова MapBlazorHub в построителе маршрутов конечной точки.