Fügen Sie die Datei und die Namen der Pflichtvariablen ein. Werte mit sensibel wirkenden Variablennamen werden in der Tabelle maskiert; kopiertes JSON enthält die Originalwerte.
Läuft lokal in deinem BrowserOptional: ein Variablenname pro Zeile. Fehlende Namen werden als Fehler gemeldet.
Schlüssel mit Geheimnischarakter werden standardmäßig maskiert. Die gesamte Analyse bleibt im Browser.
Diese Seite liest .env-Inhalt Zeile für Zeile, listet die gefundenen Variablen auf und meldet ungültige Namen, doppelte Schlüssel, fehlende Pflichtvariablen und mögliche Geheimnisse. Fügen Sie die Datei ein, nennen Sie die Namen, die vorhanden sein müssen, und drücken Sie Parsen und validieren. Alles läuft im Browser: im Test hat das Parsen keine Netzwerkanfrage ausgelöst, eine Datei, die das Gerät nicht verlassen darf, kann hier also geprüft werden.
Das Ergebnis ist eine Tabelle mit Schlüssel, Wert, Zeile und Einstufung, eine Reihe Zähler und eine Befundliste. Werte, deren Name nach einem Geheimnis aussieht, bleiben als •••••••• maskiert, bis Sie Werte in der analysierten Tabelle anzeigen markieren; JSON kopieren schreibt jedoch immer die Werte so, wie sie in der Datei stehen – behandeln Sie diese Zwischenablage als sensibel.
Leere Zeilen und Zeilen, deren erstes sichtbares Zeichen # ist, werden übersprungen; ein führendes export wird entfernt, sodass export API_URL=... und API_URL=... gleich behandelt werden. Der Schlüssel ist alles vor dem ersten =, ohne umgebende Leerzeichen, und muss mit einem Buchstaben oder Unterstrich beginnen und mit Buchstaben, Ziffern oder Unterstrichen weitergehen: _PRIVATE wird übernommen, 9LIVES und A-B werden als ungültige Namen gemeldet. Der Wert ist der Rest der Zeile. Ein zitierter Wert behält seinen Inhalt: doppelte Anführungszeichen entschlüsseln \n, \r, \t, \" und \\, einfache behandeln nur \' und \\; bei einem Wert ohne Anführungszeichen fällt ein abschließender „ # Kommentar“ weg und Leerraum wird getrimmt. Ein # ohne Leerzeichen davor bleibt Teil des Werts (A=a#b ergibt a#b), und Referenzen werden nicht aufgelöst: A=$HOME bleibt $HOME.
Kommt ein Schlüssel zweimal vor, werden beide Zeilen aufgelistet, und der letzte Wert ist der, der im JSON landet – genau das sagt die Warnung. Schlüssel sind groß-/kleinschreibungssensitiv, A und a sind also zwei verschiedene Variablen. Windows-Zeilenenden und überflüssige Leerzeichen werden wie saubere LF-Eingaben gelesen, und die Zeilennummer zählt jede physische Zeile der Datei, auch die übersprungenen.
Entschieden wird über den Namen, nicht über den Wert. Namen mit password, passwd, pwd, passphrase, secret, token, api_key, access_key, ssh_key, signing_key, encryption_key, private, credential, dsn oder webhook sowie Namen, die mit auth beginnen oder _auth enthalten, gelten als sensibel. Im Test erfasste das PWD, MYSQL_PWD, ACCESS_KEY, AWS_ACCESS_KEY_ID, SSH_KEY, SENTRY_DSN, SLACK_WEBHOOK_URL, ENCRYPTION_KEY und SIGNING_KEY, während AUTHOR und AUTHORITY sichtbar blieben, weil sie nur die Buchstaben von auth enthalten.
Weil es ein Namenstest ist, entgehen Geheimnisse mit unauffälligen Namen: DATABASE_URL, MONGODB_URI, REDIS_URL und STRIPE_SK wurden im Test nicht maskiert, obwohl eine Verbindungszeichenfolge meist ein Passwort enthält. Mit Werte anzeigen lesen Sie sie in der Tabelle, und das kopierte JSON enthält sie so oder so.
Er liest weder eine Prozessumgebung noch eine Datei von der Festplatte, er greift nicht auf das Netzwerk zu, er prüft nicht, ob ein Wert gültig, aktuell oder erreichbar ist, und er schreibt nichts zurück. Pflichtnamen werden wörtlich verglichen, ein Name, der gar kein Schlüssel sein kann, etwa A.B, wird also einfach als fehlend gemeldet.
Zwei Grenzen des Parsers sind erwähnenswert: ein nicht geschlossenes Anführungszeichen bleibt wörtlich stehen, statt gemeldet zu werden, und ein abschließender Backslash setzt die Zeile nicht fort. Die Größe ist praktisch kein Limit: im Test wurden 2.000 Variablen in etwa 0,3 s geparst und ein einzelner Wert mit 200.000 Zeichen in etwa 0,2 s.