2017-05-31 2 views
1

Ich bin besorgt über Web-Sicherheit und die Verwendung des HTML5 required Wort auf Eingabe-Tags. Ich versuche, es als Teil der Formulareingabevalidierung zu verwenden. Ist die Verwendung von HTML5 "erforderlich" für Eingabe-Tags etwas, das für die Validierung zuverlässig ist oder leicht von einem Benutzer manipuliert werden kann, der versucht, die Eingabefeld-Anforderung zu umgehen.ist HTML5-Eingabe "erforderlich" eine sichere Validierungstechnik?

Ich habe nach Informationen über HTML-Sicherheit gesucht und wenig auf diesem gefunden.

Dank

+0

SO erfordert ein ganz bestimmtes Format, einschließlich demonstrierter Aufwand und Forschung, so ist der Schlüssel, um sicherzustellen, dass Sie Ihre Frage in einer Weise, die wirklich das Kernproblem, die in Ihrem Fall ist die Sicherheit der Verwendung der erforderlichen Attribut zielt strukturieren als Mittel zur Formularvalidierung. –

+0

Ich persönlich würde das erforderliche Schlüsselwort nicht alleine verwenden, da es leicht von jemandem geändert werden kann, da es ein clientseitiges Element ist. Um dies sicher durchzuführen, müssen Sie die Eingabe des Benutzers auch auf der Serverseite überprüfen. –

+0

danke ... ich bin nicht wirklich sicher, warum "erforderlich" ist es da? aber das ist, was ich suchte ... Server Sicherheit ist besser. – Rod

Antwort

1

In meinen meinungen ist es keine effektive methode. Das erforderliche Attribut kann einfach geändert werden, indem das Element inspect für dieses Feld im Browser verwendet wird. Die wichtigste Sache hier ist zu beachten, dass alle Client-Seite Validierung ist Ihre erste Verteidigungslinie, aber die meiste Zeit benötigen Sie eine zusätzliche Schicht auf Ihrer Server-Seite zu überprüfen. Ich könnte eine HTTP-Post-Anfrage an das Feld Aktion Ihres Formulars machen, ohne Ihr Formular mit Tools wie Postbote (Chrome-Erweiterung) zu verwenden, wenn Ihr Server keine zusätzliche Validierung hat, dann sind Sie nicht sicher.

2

Kurz gesagt, die Antwort ist nein, Client-seitiger Code ist kein sicherer Ort, um sich auf Sicherheitschecks zu verlassen.

Die Methode der Verwendung von required bietet dem Benutzer Rückmeldung und ermöglicht eine schönere Benutzeroberfläche, aber aus Sicherheitsgründen werden Sie Treue-Überprüfungen für alle Daten auf der Serverseite durchführen müssen, wie das geschieht, hängt von Ihrer Sicherung ab die Architektur.

Um Ihre Frage in den Kommentaren zu beantworten, ist das required Attribut vorhanden, um zu verhindern, dass das Formular gesendet wird, ohne dass das Feld vollständig ist. Dies dient jedoch lediglich dazu, dem Benutzer zu verdeutlichen, dass es erforderlich ist. Wenn Sie einen Hacker haben, entfernen Sie einfach das Attribut required aus dem Markup, dann sind sie sowieso nicht gut und das ist der Punkt, an dem Sie durch eine Backend-Prüfung gerettet werden.

Verwandte Themen