Kurz gesagt
- Jede Datei, die du veröffentlichst, kann von allen gelesen werden, die die Website öffnen können, und ein Zugangscode ändert nichts daran, was dorthin gehört. Lass Schlüssel, Passwörter und Kundendaten draußen.
- Kein Server heißt nicht kein Risiko. Achte auf eingefügte Schlüssel, externe Skripte und Text, der mit innerHTML eingefügt wird.
- Wenn ein Schlüssel durchsickert, widerrufe ihn zuerst. Die Datei zu löschen reicht nicht.
Was öffentlich wird
Das ist die eine Regel, die du dir merken solltest. Wenn du eine Website veröffentlichst, kann jede Datei darin von allen heruntergeladen werden, die die Adresse kennen. Das schließt Dateien ein, auf die keine Seite verlinkt. Code durch „Minifizieren“ oder „Verschleiern“ zu verstecken macht ihn schwerer lesbar, nicht geheim.
| Dateityp | Öffentlich? | Beispiel |
|---|---|---|
| HTML, CSS, JavaScript | Ja | Ein API-Schlüssel, der in script.js getippt wurde |
| Bilder, PDFs, Downloads | Ja | Eine Preisliste als PDF, auf die keine Seite verlinkt |
| Konfigurationsdateien | Ja | config.json mit einem Token darin |
.env-Dateien | Ja, wenn hochgeladen | Schlüssel, die neben deinem Projekt liegen |
Source Maps (.map) | Ja, wenn hochgeladen | Lesbare Kopien deines ursprünglichen Codes |
Der Ordner .git | Ja, wenn hochgeladen | Alter Verlauf mit „gelöschten“ Schlüsseln darin |
| Dateien, die du nicht veröffentlicht hast | Nein | Notizen, Entwürfe, der Rest deines Projekts |
Wo sich geheime Schlüssel verstecken
KI-Tools sind gut darin, Dinge zum Laufen zu bringen. Manchmal ist der schnellste Weg, einen Schlüssel direkt in den Code zu schreiben. Achte auf Folgendes:
- Schlüssel in JavaScript. Ein Chatbot-Widget, das direkt von der Seite einen KI-Dienst aufruft, mit dem Schlüssel im Code. Jeder kann diesen Schlüssel kopieren und deine Rechnung in die Höhe treiben.
.env-Dateien. Projekte bewahren Schlüssel in einer Datei namens.envauf. Sie sollte auf deinem Computer bleiben, wird aber hochgeladen, wenn du den ganzen Projektordner veröffentlichst.- Konfigurations- und Build-Dateien. Einstellungsdateien, Source Maps und übrig gebliebene Testdateien können Schlüssel oder Pfade enthalten, die du nicht teilen wolltest.
- Der Ordner
.git. Dieser versteckte Ordner enthält den gesamten Verlauf deines Projekts, auch Schlüssel, die vor langer Zeit „gelöscht“ wurden.
Öffentliche Schlüssel sind in Ordnung
Manche Schlüssel sind dafür gedacht, in einer Webseite zu stehen: ein veröffentlichbarer Stripe-Schlüssel (pk_...), ein Maps-Schlüssel, der auf deine Domain beschränkt ist, eine Analytics-ID. In den Docs des Dienstes steht, ob ein Schlüssel für den Browser sicher ist. Wenn dort „secret“ oder „nur serverseitig“ steht oder er mit sk_ beginnt, darf er nie in deiner Website stehen.
Wenn eine Funktion ein Geheimnis braucht
Wenn eine Funktion nur mit einem geheimen Schlüssel funktioniert, kann eine einfache Website sie nicht von allein sicher umsetzen. Deine Möglichkeiten:
- Nutze einen Dienst, der dafür gemacht ist: einen Formulardienst für Kontaktformulare, ein Buchungstool für Termine, einen gehosteten Checkout für Zahlungen. Sie verwahren die Geheimnisse für dich.
- Leg das Geheimnis hinter eine kleine Server-Funktion irgendwo, wo es das gibt, und lass deine Seite diese aufrufen.
- Verzichte vorerst auf die Funktion. Ein klarer E-Mail-Link ist besser als ein offengelegter Schlüssel.
Frag deine KI direkt: „Enthält diese Website geheime Schlüssel? Falls ja, wie können wir das umsetzen, ohne ein Geheimnis im Browser abzulegen?“ Meist erkennt sie das Problem, sobald man fragt.
Skripte, die du von anderswo lädst
Viele von KI gemachte Seiten laden Skripte von anderen Websites: einen Schriftlader, ein Icon-Paket, Analytics, ein Chat-Widget. Jedes läuft mit voller Macht auf deiner Seite. Es kann lesen, was Besucher:innen tippen, und ändern, was sie sehen. Wenn die andere Website gehackt wird, ist es auch deine Seite.
- Nutz weniger. Frag: „Braucht diese Seite wirklich jedes externe Skript?“
- Fixier die Version. Nutz
library@1.2.3, nicht „latest“, damit sich die Datei nicht unter dir ändern kann. - Füg eine Integritätsprüfung hinzu, wo die Bibliothek eine bereitstellt. Der Browser lehnt dann eine veränderte Datei ab. Sie sieht so aus:
<script src="https://cdn.example.com/lib@1.2.3/lib.min.js" integrity="sha384-..." crossorigin="anonymous"></script>
- Prüf Widgets. Analytics-, Chat- und Buchungs-Widgets setzen oft auch Cookies und Tracking ein. Wisse, was jedes davon tut, und sag es auf deiner Datenschutzseite.
Text sicher auf die Seite bringen
Wenn dein Code Text aus der Adressleiste, einem Formularfeld oder von einem Besucher nimmt und mit innerHTML auf die Seite setzt, kann ein Angreifer Code einschleusen, der in den Browsern anderer läuft. Das nennt man Cross-Site-Scripting oder XSS. Die sichere Gewohnheit ist, reinen Text mit textContent einzufügen, der nie als Code ausgeführt wird.
Find every use of innerHTML, document.write and eval in my site. For each one, say where the text comes from. If it can come from the URL, a form or a visitor, change it to use textContent instead. Tell me what you changed.
Ein Chatbot auf deiner Seite
Ein Chatfenster, das mit einer KI spricht, braucht einen Schlüssel, um den KI-Dienst aufzurufen. Dieser Schlüssel gehört auf einen Server, nie in deine Seite. Zwei weitere Dinge, die du wissen solltest:
- Prompt Injection. Besucher:innen können Anweisungen eintippen, die den Bot dazu bringen sollen, deine zu ignorieren. Das lässt sich nicht vollständig verhindern.
- Begrenz also den Schaden. Gib dem Bot keine Geheimnisse und keine Aktionen. Wenn er nur Fragen aus öffentlichem Text beantwortet, kann ein Trick wenig anrichten.
Formulare und persönliche Angaben
- Erhebe nur, was du brauchst. Name und E-Mail reichen oft. Jedes zusätzliche Feld musst du schützen.
- Sag, wohin es geht. Deine Datenschutzseite sollte sagen, wer die Nachrichten erhält und warum.
- Bau keinen eigenen Speicher. Eine einfache Seite kann Nachrichten nicht sicher speichern. Nutz einen Formulardienst oder einen, der in deinen Host eingebaut ist.
Bitte bei Page Lemon deine KI: „Füge meiner Website ein Kontaktformular hinzu.“ Nachrichten kommen per E-Mail zu dir und werden in deinem Konto aufbewahrt, ohne separaten Formulardienst. Formulare gibt es in den bezahlten Tarifen. Siehe Kontaktformulare.
Lizenzen und Richtigkeit
- Prüf Lizenzen. Für Bibliotheken, Schriften, Icons und Bilder von außen gelten Bedingungen. Manche verlangen eine Namensnennung, manche verbieten die kommerzielle Nutzung. Bitte deine KI, aufzulisten, was du verwendest und woher es stammt.
- Prüf die Fakten. KI kann Preise, Bewertungen und Behauptungen erfinden. Du bist diejenige oder derjenige, der sie veröffentlicht hat.
- Wem von KI geschriebene Werke gehören, hängt vom Land ab und ist noch nicht geklärt. Das ist keine Rechtsberatung. Wenn es wichtig ist, frag eine Fachperson.
Was du nicht in deine KI einfügen solltest
Deine Website ist öffentlich, dein Chat aber soll es nicht sein. Füg dort nicht ein:
- Kundenlisten, Bestellungen oder Nachrichten, außer du weißt, wie dein KI-Dienst diese Daten behandelt;
- Passwörter, API-Schlüssel oder Login-Codes, weil die KI sie in die Website schreiben kann;
- alles, was du nicht auf einen Flyer drucken würdest.
Nutz beim Bauen Platzhalternamen und „example@example.com“. Setz die echten Angaben selbst ein.
Ein Fünf-Minuten-Check, bevor du den Link teilst
Hake diese Punkte ab. Oder gib den Suchteil mit dem Prompt unten an deine KI ab.
0 von 6 erledigt
List every external script, key-like string, innerHTML use, form action and personal detail in my site, with the file and line for each. Don't change anything.
Wenn das sauber ist, geh die Launch-Checkliste für Websites durch.
Wenn ein Schlüssel doch öffentlich wurde
Wie Page Lemon dir hilft
Von KI gemachte Websites werden oft von Leuten veröffentlicht, die sich darüber noch nie Gedanken machen mussten, deshalb gibt es ein paar Sicherheitsnetze:
.env-Dateien,.git,node_modules, Source Maps und private Schlüsseldateien werden übersprungen und nie ausgeliefert.- Uploads werden auf bekannte Arten geheimer und privater Schlüssel geprüft. Wird einer gefunden, wird nichts aus diesem Upload veröffentlicht, und dir wird gesagt, welche Datei und Zeile du korrigieren musst.
Diese Prüfungen fangen häufige Fehler ab, nicht jedes Geheimnis. Dass du auswählst, was veröffentlicht wird, schützt deine Geheimnisse weiterhin am besten. Mehr unter Sicherheit & Vertrauen und Eine Website veröffentlichen.