Heim >Backend-Entwicklung >PHP-Tutorial >javascript – So überprüfen Sie einfacher, ob die Daten vom Frontend legal sind

javascript – So überprüfen Sie einfacher, ob die Daten vom Frontend legal sind

WBOY
WBOYOriginal
2016-08-04 09:19:141172Durchsuche

Aus normaler Sicht können wir den Daten vom Front-End niemals vertrauen, aber zum Beispiel beim Absenden eines Formulars müssen meine Front-End-JS überprüft werden, und das Back-End muss überprüft werden . Es ist besser, weniger Dinge zu überprüfen und mehr (die Regeln sind komplex), das ist mühsam. Gibt es eine Möglichkeit sicherzustellen, dass die Front-End-Daten legal sind, oder kann das Back-End sie einfach überprüfen (es ist ein ein bisschen wie ein Formular-Token, obwohl es verwendet wird, um wiederholte Übermittlungen zu verhindern)

Antwortinhalt:

Aus normaler Sicht können wir den Daten vom Front-End niemals vertrauen, aber zum Beispiel beim Absenden eines Formulars müssen meine Front-End-JS überprüft werden, und das Back-End muss überprüft werden . Es ist besser, weniger Dinge zu überprüfen und mehr (die Regeln sind komplex), das ist mühsam. Gibt es eine Möglichkeit sicherzustellen, dass die Front-End-Daten legal sind, oder kann das Back-End sie einfach überprüfen (es ist ein ein bisschen wie ein Formular-Token, obwohl es verwendet wird, um wiederholte Übermittlungen zu verhindern)

Die Front-End-Verifizierung verbessert nur die Benutzererfahrung, während die Back-End-Verifizierung ein Muss ist.

Zu Ihrer Frage können Sie nach dem Thema Front-End- und Back-End-Isomorphismus suchen. Der allgemeine Ansatz besteht darin, NodeJS als mittlere Ebene zu verwenden und einen Satz Front-End-Verifizierungscode bereitzustellen in NodeJS, um Back-End zu vermeiden (Das Backend bezieht sich hier auf das Backend, das mit NodeJS kommuniziert, nicht NodeJS selbst) und implementieren Sie dann die Verifizierungslogik erneut.

Verwenden Sie ein Framework wie yii.
Jedes Formular definiert ein Formularmodell in der Modellebene, das einige Regelmethoden definiert. Es enthält viele Überprüfungsregeln, wie z. B. E-Mail, Zeichenfolgenlänge, Aufzählung usw. Selbstverständlich können auch Sonderregeln selbst definiert werden.

Der beste Weg, wiederholte Übermittlungen oder maschinelle Übermittlungen zu verhindern, ist das Hinzufügen von Bestätigungscodes.

Gibt es eine Möglichkeit sicherzustellen, dass die Front-End-Daten legal sind, oder kann das Back-End sie einfach überprüfen

Der Fragesteller sagte auch, dass Sie den Front-End-Daten nicht vertrauen dürfen. Wenn das Front-End eine Validierung durchführt, muss das Back-End auch eine konsistente Validierung durchführen.

Der Hintergrund muss verifiziert werden, da Anfragen durch Simulation an das Backend gesendet werden können und somit die Front-End-Verifizierung übersprungen wird

Egal wie gut die Verifizierung durch das Frontend ist. Das Backend muss weiterhin eine vollständige Verifizierung gewährleisten. Es kann nicht einfach überprüft werden.
Sie können nicht garantieren, dass die Person, die die Daten sendet, die Daten durch Ihre Verifizierungssätze gesendet hat.
Darüber hinaus kann die Front-End-Verifizierung auch als Verbesserung des Benutzererlebnisses angesehen werden.

Gibt es eine Möglichkeit sicherzustellen, dass die Front-End-Daten legal sein müssen?
Dann muss sichergestellt werden, dass die vom Back-End empfangenen Daten vom verifizierten Front-End stammen ist im Web schwierig zu machen

Wenn Sie also die Bestätigung schreiben, bitten Sie das Frontend um eine Kopie des von ihnen geschriebenen Bestätigungscodes und ändern Sie ihn (lächeln)

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn