Я пытаюсь лучше понять политику безопасности контента. Насколько я понимаю, они представляют собой инструкцию для браузера о том, откуда разрешено загружать определенные части страницы - изображения, мультимедиа, сценарии и т. д.
Но я не могу понять, зачем серверу, цель которого — отвечать на запросы данных — JSON например — нужен CSP. Он предоставляет данные только для использования другими сторонами. Браузер не задействован.
Так зачем же REST API нужен CSP? Я правильно понимаю первый абзац?
Здесь уже есть хороший ответ на вопрос: stackoverflow.com/questions/68886438/…

Как упомянул @Nick в разделе комментариев, CSP может указывать разрешенные домены, и для этого необходим TLS. Но, кроме того, даже если ваш API не требует запроса от браузеров, к нему можно получить доступ из браузеров.
Если вы не укажете CSP, вы не разрешите доступ к вашему сайту из браузеров, которые отказываются обслуживать неуказанные серверы.
Предполагая, что ваш API находится на домене1, а у меня есть домен2, где я хочу запрашивать конечные точки с вашего сервера, вы исключаете мой домен2 из этого на стороне клиента и заставляете таких третьих лиц отправлять свои запросы со стороны сервера. , что может быть для них невыполнимо. Если это намеренно, то все хорошо. Но если вы хотите, чтобы моему домену было разрешено запрашивать API вашего домена из любого приложения, браузера или нет, вам необходимо указать это.
Если вы хотите разрешить запросы из любого источника, вам также необходимо указать CSP соответствующим образом.
Таким образом, речь идет не о том, можно ли запрашивать ваш API из других источников, кроме браузеров, а о том, хотите ли вы разрешить доступ к вашему сайту из клиентских запросов от браузеров, хотите ли вы обеспечить соблюдение TLS и тому подобное.
Это может помочь сделать сайты более безопасными, поскольку на сайте, выдающем себя за другое лицо, клиентские браузеры не могут отправлять запросы API с реального сайта. Запросы должны исходить от самого поддельного сервера, и его IP-адрес появится в журналах сервера реального сайта. Он также блокирует подключение к другому серверу и перехват части его контента для показа вашей собственной рекламы.
Во втором абзаце должно быть написано «отказаться от обслуживания неуказанных серверов»?
@Барри, да, действительно. Спасибо за указание на это, соответственно отредактировал мой ответ.
Должен ли третий абзац читать «с вашего сервера», а не «из вашего браузера»?
CSP также может указать, какие исходные домены разрешены и требуется ли TLS.