Skip to main content

Безопасность. Использование PUBLIC и PRIVATE env

Для env переменных, которые должны быть доступны в браузере, необходимо указывать префикс PUBLIC_:

  • PUBLIC_API_URL
  • PUBLIC_BRAND

Для env переменных, которые должны быть доступны только на стадии билда, необходимо указывать префикс PRIVATE_:

  • PRIVATE_RELEASE_MANAGER_TOKEN

Мотивация

Если все env переменные сделать доступные в браузере, то злоумышленники могут найти уязвимости системы потому, что env хранит информацию о сервере, на котором запускает билд или само приложение.

Именно по этой причине Nextjs и Vite требуют для env переменных префиксы: NEXT_PUBLIC | NEXT_PRIVATE, VITE_.

CSR

Если приложение собирается через webpack, то достаточно просто следовать указанным ранее соглашениям по именованию.

Если приложение собирается через vite, то необходимо использовать envPrefix для кастомизации префикса.