Sicherheit und Datenschutz

Wenn Sie ein Formular erstellen, arbeiten Sie mit Nutzerdaten. Ihre wichtigste Aufgabe ist es, dafür zu sorgen, dass Nutzerdaten privat bleiben und sicher übertragen werden. Sehen wir uns an, was möglich ist.

Achten Sie darauf, dass das Formular sicher ist

Stellen Sie zunächst sicher, dass Sie so wenig Daten wie möglich anfordern. Fragen Sie nicht nach Daten, die Sie nicht benötigen, und fragen Sie immer, ob Sie alle angeforderten Daten benötigen. Weniger Daten bedeuten weniger Risiken, geringere Kosten und weniger Verbindlichkeiten. Wenn Sie die Anzahl der Felder in einem Formular verringern, ist es außerdem weniger komplex, einfacher auszufüllen, und die Ausstiegsraten können sinken.

Verwende immer HTTPS, insbesondere für Seiten, die ein Formular enthalten. Mit HTTPS werden Daten bei der Übertragung vom Server und bei der Rückkehr zum Server verschlüsselt.

Angenommen, Sie sitzen in einem Café und nutzen öffentliches WLAN. Sie öffnen eine E-Commerce-Website und geben Ihre Kreditkartendaten ein, um etwas zu kaufen. Wenn die Website HTTP verwendet, kann jeder (mit den entsprechenden Fähigkeiten) im selben öffentlichen WLAN Ihre Kreditkartendaten sehen. Wenn auf der Website HTTPS verwendet wird, sind die Daten verschlüsselt und damit vor Unbefugten geschützt.

Achten Sie auf Ihrer Website außerdem darauf, alle HTTP-Anfragen zu HTTPS weiterzuleiten. Weitere Informationen zum Weiterleiten des gesamten Traffics zu HTTPS

Nutzern helfen, ihre Daten zu schützen

Im ersten Modul haben Sie zwei Möglichkeiten zur Datenübertragung kennengelernt: mit einer GET-Anfrage und einer POST-Anfrage.

Bei einer GET-Anfrage werden Formulardaten als Abfragestring in die Anfrage-URL aufgenommen. Wenn Sie ein Formular senden, das eine GET-Anfrage verwendet, fügt der Browser die Anfrage-URL einschließlich Formulardaten Ihrem Browserverlauf hinzu. Dies ist praktisch, wenn Sie frühere Formulareinreichungen nachschlagen möchten, z. B. für ein Suchformular. Überhaupt nicht toll, wenn sensible Daten gesendet werden und jeder mit Zugriff auf Ihren Browserverlauf oder das lokale Netzwerk diese Informationen sehen kann.

Verwenden Sie POST-Anfragen für jedes Formular, in dem personenbezogene oder anderweitig vertrauliche Daten eingereicht werden können. Auf diese Weise sind die Daten nur für das Back-End-Skript sichtbar, das sie verarbeitet.

Wie sieht es mit dem Speichern und Verarbeiten personenbezogener Daten direkt im Browser aus? Sie können den Clientspeicher wie localStorage verwenden, um personenbezogene Daten im Browser zu speichern. In Bezug auf den Datenschutz ist dies nicht ideal. Auch hier können alle Nutzer mit Zugriff auf deinen Browser diese Informationen lesen. Sie sollten verschlüsselte Werte nur für personenbezogene Daten speichern.

Nutzer müssen sich sicher registrieren und anmelden können

Die Authentifizierung von Nutzerkonten ist ein komplexes Thema in puncto Datenschutz und Sicherheit. Möglicherweise ist es besser, einen externen Identitätsanbieter zu verwenden, anstatt ein eigenes sicheres Authentifizierungssystem zu erstellen.

Best Practices für die Kontoauthentifizierung und Passwortverwaltung

Nutzern den Zugriff auf ihre personenbezogenen Daten ermöglichen

In vielen Regionen gelten Gesetze und Bestimmungen zum Datenschutz, darunter der CCPA in Kalifornien und der PDPA in Indien. Jede in der Europäischen Union (EU) verfügbare Website muss der EU-Datenschutz-Grundverordnung (DSGVO) entsprechen, auch wenn sich die Website nicht in der EU befindet.

Die DSGVO legt Richtlinien für die Erhebung und Verarbeitung personenbezogener Daten von Personen in der EU fest. Zur Verarbeitung personenbezogener Daten ist eine Einwilligung erforderlich. Nutzer können jederzeit personenbezogene Daten anfordern, die Sie gespeichert haben, und Sie müssen Datenlecks offiziell bekannt geben. Davon profitieren die Nutzer, denn so wird ihre Privatsphäre respektiert. Weitere Informationen zur DSGVO

Stellen Sie sicher, dass Ihre Nutzer wissen, wie Sie personenbezogene Daten verarbeiten möchten. Transparenz ist der Schlüssel zu Vertrauen. Nutzer sollten jederzeit auf alle für sie gespeicherten Daten zugreifen und diese ändern und löschen können.

Dafür sorgen, dass Nutzer ihre personenbezogenen Daten aktualisieren können

Erleichtern Sie Nutzern die Aktualisierung ihrer personenbezogenen Daten wie Passwörter, E-Mail-Adressen und Nutzernamen. Informieren Sie Nutzer über Änderungen an ihren gespeicherten personenbezogenen Daten und achten Sie darauf, dass Nutzer Änderungen rückgängig machen können. Beispiel: Nachdem Nutzer ihre E-Mail-Adresse geändert haben, senden Sie eine E-Mail an die vorherige und die neue E-Mail-Adresse.

Erleichtern Sie Nutzern das Löschen ihres Kontos, einschließlich aller verknüpften Daten, und ermöglichen Sie gegebenenfalls den Download von Daten. Das Löschen von Konten ist in einigen Regionen eine rechtliche Anforderung.

Sie sollten einen zusätzlichen Authentifizierungsschritt verlangen, z. B. die erneute Eingabe des aktuellen Passworts, um personenbezogene Daten auf Ihrer Website aufzurufen oder zu ändern.

Weitere Informationen finden Sie unter Best Practices für den Datenschutz bei Webanwendungen.

Sicherstellen, dass alle Daten in einem guten Zustand sind

In einem vorherigen Modul haben Sie mehr über die Validierung im Frontend erfahren. Die Front-End-Validierung ist zwar wichtig, aber Nutzer können dennoch unter Umständen ungültige Daten senden. Als nächsten Schritt müssen Sie die Daten auch im Back-End validieren, bevor Sie sie in Ihrer Datenbank speichern. Dadurch wird sichergestellt, dass keine ungültigen Daten in Ihrer Datenbank gespeichert werden.

Durch die Validierung wird sichergestellt, dass das Datenformat gültig ist. Dennoch sollten Sie den von Nutzern eingegebenen Daten nicht trauen. Wie können Sie die Daten sicher ausgeben? Sie müssen die Daten vor der Ausgabe bereinigen, um Cross Site Scripting (XSS) zu verhindern und dafür zu sorgen, dass alle Daten sicher in HTML aufgenommen werden können.

Weitere Informationen zum Bereinigen von Daten vor der Ausgabe und zum Verwenden der Sanitizer API, wenn möglich.

Sicherstellen, dass alle Beiträge von echten Personen stammen

Zum Schutz Ihrer Daten haben Sie verschiedene Möglichkeiten, das Senden von Spam durch Bots zu verhindern.

Die erste Möglichkeit besteht darin, einen Dienst wie reCAPTCHA zu verwenden, um zwischen echten Personen und Bots zu unterscheiden. Dazu müssen Sie ein JavaScript-Snippet in Ihre Seite einfügen und zusätzliche Attribute zur Schaltfläche Senden hinzufügen.

reCAPTCHA führt verschiedene Prüfungen durch, um festzustellen, ob Sie ein Mensch sind. Sie werden beispielsweise aufgefordert, Bilder zu identifizieren. Automatisierte Software, z. B. ein Bot, kann diese Probleme nicht bewältigen und das Formular nicht senden.

Ein Honigtopf

Eine weitere Möglichkeit ist die Verwendung eines sogenannten „Honigtopfs“, eines visuell verborgenen Formularfelds. Menschen sehen kein Honigtopffeld, aber Bots werden es ausfüllen. Im Backend kann Ihr Verarbeitungsskript prüfen, ob das Feld ausgefüllt wurde. Falls ja, stammt der Beitrag wahrscheinlich von einem Bot und Sie können ihn ignorieren.

Dienste wie Akismet können Ihnen beim Spamschutz helfen. Der Akismet-Filter kombiniert die Spamfilter von allen teilnehmenden Websites und nutzt diese Spamregeln, um zukünftigen Spam zu blockieren. Akismet ist für den Nutzer transparent und erkennt die meisten Spam-Nachrichten.

Wissen testen

Testen Sie Ihr Wissen über Sicherheit und Datenschutz

Was ist die bevorzugte Methode für die Übertragung personenbezogener Daten mithilfe von Formularen?

Eine POST-Anfrage.
🎉
Eine Brieftaube.
Versuch es noch einmal.
Eine GET-Anfrage.
Versuch es noch einmal.
HTTPS
Versuch es noch einmal.

Wie kann ich Spam verhindern?

Captchas
🎉
Honeypot-Formularfeld
🎉
Spamdienste.
🎉
Es werden ausschließlich vegetarische Speisen angeboten.
Versuch es noch einmal.

Ressourcen