Heim >häufiges Problem >Was bedeutet Tokenfehler?

Was bedeutet Tokenfehler?

(*-*)浩
(*-*)浩Original
2020-01-07 14:19:5149146Durchsuche

Was bedeutet Tokenfehler?

Tokenfehler bedeutet Tokenfehler.

Token wird serverseitig generiert. Wenn das Frontend den Benutzernamen/das Passwort verwendet, um die Authentifizierung vom Server anzufordern, und die Serverauthentifizierung erfolgreich ist, gibt der Server ein Token an das Frontend zurück. Das Frontend kann jedes Mal, wenn Sie eine Anfrage stellen, einen Token mitbringen, um Ihren Rechtsstatus nachzuweisen (Empfohlen: PHPSTORM )

Welche Probleme können damit gelöst werden?

Token wird vollständig von der Anwendung verwaltet, sodass die Same-Origin-Richtlinie vermieden werden kann

Token kann CSRF-Angriffe vermeiden (http://dwz.cn/7joLzx)

Token kann zustandslos sein und von mehreren Diensten gemeinsam genutzt werden

Token wird auf der Serverseite generiert. Wenn das Frontend den Benutzernamen/das Passwort verwendet, um die Authentifizierung vom Server anzufordern, und die Serverauthentifizierung erfolgreich ist, gibt der Server ein Token an das Frontend zurück.

Das Frontend kann Token bei jeder Anfrage mitbringen, um seinen rechtlichen Status nachzuweisen. Wenn dieses Token auf der Serverseite dauerhaft vorhanden ist (z. B. in einer Datenbank gespeichert), handelt es sich um ein permanentes Identitätstoken.

Ob aus Sicherheits- oder Widerrufsgründen, Token müssen eine Gültigkeitsdauer haben.

Was ist also die angemessene Gültigkeitsdauer?

Man kann nur sagen, dass es entsprechend den Sicherheitsanforderungen des Systems so kurz wie möglich sein sollte, aber es darf nicht lächerlich kurz sein – stellen Sie sich die automatische Bildschirm-Aus-Zeit des Mobiltelefons vor. Wenn es ohne Bedienung auf 10 Sekunden eingestellt ist, schaltet es sich automatisch aus. Ist es verrückt, den Bildschirm auszuschalten und das Passwort eingeben zu müssen, wenn er wieder aufleuchtet?

Wenn Sie glauben, dass es nicht funktioniert, dann versuchen Sie es selbst und stellen Sie es auf die kürzeste einstellbare Zeit ein. Bleiben Sie einfach eine Woche lang dabei (es ist nicht ausgeschlossen, dass sich einige Leute daran gewöhnen können). Diesmal führen Mobiltelefonhersteller schließlich auch Untersuchungen zur Benutzererfahrung durch.

Dann entsteht ein neues Problem, wenn das Token des Benutzers während des normalen Betriebs abläuft und der Benutzer sich erneut anmelden muss ... wäre das Benutzererlebnis nicht sehr schlecht?

Um das Problem zu lösen, dass Benutzer während des Vorgangs nicht das Gefühl haben, dass das Token ungültig ist, besteht eine Lösung darin, den Token-Status auf der Serverseite zu speichern. Bei jeder Operation des Benutzers wird die Ablaufzeit des Tokens gespeichert wird automatisch aktualisiert (verschoben) – Sitzung wird verwendet. Diese Strategie wird verwendet, um Benutzer angemeldet zu halten.

Bei der Front-End- und Back-End-Trennung und der Single-Page-App besteht jedoch immer noch ein Problem. Es können viele Anfragen pro Sekunde initiiert werden, und jedes Mal wird die Ablaufzeit aktualisiert sehr hohe Kosten.

Wenn die Token-Ablaufzeit in der Datenbank oder Datei beibehalten wird, sind die Kosten noch höher. Um die Effizienz zu verbessern und den Verbrauch zu reduzieren, werden Token daher nach Ablauf normalerweise im Cache oder Speicher gespeichert.

Das obige ist der detaillierte Inhalt vonWas bedeutet Tokenfehler?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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