Как установить заголовок HSTS в приложении create-response-app

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

Я не очень разбираюсь в HSTS, но разве это не происходит на сервере? как в апаче вместо того, чтобы реагировать?

iRohitBhatia 13.11.2018 22:53

@KuchBhi правильно, заголовки, такие как HSTS, отправляются в браузер сервером. React не контролирует это.

Smarticles101 13.11.2018 23:26
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
1
2
3 610
1

Ответы 1

Не беспокойтесь о безопасности при сборке в режиме разработки. Вы не можете контролировать 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

Другие вопросы по теме