У меня есть приложение, которое я создавал, и я начал его с create-react-app. Я пытаюсь сделать его более безопасным, добавляя заголовки HSTS или аналогичные, но не могу найти в Интернете ничего, что объясняло бы способ сделать это, если вы не создали свой собственный сервер. Большинство ответов используют nginx или apache. Мой бэкэнд построен на node.js express и использует helmet.js, который работает нормально, однако мой интерфейс полностью отделен, и я предполагаю, что безопасность моего бэкэнда на самом деле не решает проблему. Я видел пакет react-helmet, но не уверен, что это то, что я ищу. Можете ли вы использовать этот пакет для установки такого типа http-заголовка и как бы вы это сделали?
@KuchBhi правильно, заголовки, такие как HSTS, отправляются в браузер сервером. React не контролирует это.





Не беспокойтесь о безопасности при сборке в режиме разработки. Вы не можете контролировать hsts и другие заголовки http, отправляемые браузеру сервером в стадии разработки. О чем следует беспокоиться, размещая его для производства. Когда вы создаете его для производства и обслуживаете со своего экспресс-сервера, добавьте это.
На вашем экспресс-сервере вы должны иметь возможность использовать посредника hsts. Итак, если вам просто нужен hsts, сделайте следующее:
Запускаем npm install hsts
а затем добавьте это на свой экспресс-сервер.
const hsts = require('hsts')
app.use(hsts({
maxAge: 15552000 // 180 days in seconds
}))
Или вы можете использовать helmet, который включает несколько других посредников для повышения безопасности.
npm install --save helmet
var helmet = require('helmet')
app.use(helmet())
См. Лучшие методы обеспечения безопасности на сайте expressjs.com
Я не очень разбираюсь в HSTS, но разве это не происходит на сервере? как в апаче вместо того, чтобы реагировать?