Pierwszym problemem z plikiem .env jest to... że jest plikiem. Pliki .env często zawierają wrażliwe wartości np. hasła czy sekrety. Istnieje kilka sposobów na omyłkowe upublicznienie tego pliku, takie jak dołączenie go do obrazu dockerowego czy przypadkowy commit do repozytorium. Ponadto, osoba uprawniona do odczytu pliku ma dostęp do wszystkich zmiennych w nim zawartych!
Drugim problemem z plikami .env jest... wbudowane wsparcie dla nich od Node.js 20.6.0. Dotychczas, jednym ze sposobów na pracę z plikami .env była paczka dotenv. Mimo dodania wsparcia w Node prawdopodobnie w wielu projektach ta paczka pozostanie... a jest to błąd! Dalsze wsparcie dla tej paczki, w kontekście ostatnich zmian w Node.js mija się z celem, przez co szansa na naprawianie błędów (w tym błędów bezpieczeństwa) maleje.
#programowanie #javascript #nodejs #bezpieczenstwo #cybersecurity #cybersecurity #itsecurity
Sprawdź linki, by dowiedzieć się więcej:
- https://dev.to/gregorygaines/stop-using-env-files-now-kp0
- https://nodejs.org/en/blog/release/v20.6.0
@elszczepano Czy ja dobrze zrozumiałem że jednym z argumentów przeciwko plikom dotenv jest ich natywne wsparcie przez nodejs? Świat JSa nigdy nie przestanie mnie zaskakiwać xD
Inne ekosystemy: Hej nasz framework dodał coś, do czego wcześniej używaliśmy zewnętrznej biblioteki, więc możemy z niej bezpiecznie zrezygnować.
JS: Hej nasz framework dodał coś, do czego wcześniej używaliśmy zewnętrznej biblioteki, WIĘC MUSIMY NATYCHMIAST CAŁE TO ROZWIĄZANIE WYWALIĆ Z PROJEKTU I WSADZIĆ COŚ NOWEGO I MODNEGO, NAJLEPIEJ POWSTAŁEGO W ZESZŁYM TYGODNIU
( ͡° ͜ʖ ͡°)
Natomiast co do pierwszego argumentu to też średnio się zgadzam :v nie dość że zazwyczaj konfig tam jest związany mocno z lokalnym środowiskiem (no, może ewentualnie jakieś api keye do stagingu sie pojawią), to jeszcze przecież nikt tego ręcznie nie "odznacza" ani z commita ani z dockera tylko zajmują się tym odpowiednie configi których wystarczy nie ruszać. Ktoś chyba celowo by musiał regułę z gitignore wywalić?
I to nie tak że się całkiem z tezą nie zgadzam, ot podnoszę dialog xD
Zaloguj się aby komentować