Безопасность. Использование 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 для кастомизации префикса.