Seiten, bei denen eine Benutzer-Authentifizierung erforderlich ist, wobei die für das Absenden von Daten verfügbare Zeit begrenzt ist.
Die Technik bezieht sich auf:
Webserver, die eine Benutzer-Authentifizierung erfordern, beenden die Sitzung oft nach einem festgelegten Zeitraum, wenn es keine Aktivitäten des Benutzers gibt. Wenn der Benutzer nicht in der Lage ist, Daten schnell genug einzugeben und die Sitzung abläuft, bevor er die Daten absendet, dann wird der Server vor der Fortsetzung eine erneute Authentifizierung fordern. Wenn dies passiert, leitet der Server die Informationen (als versteckte Daten) von dem Formular in die Seite, die zur erneuten Authentifizierung benutzt wird, weiter. Wenn der Benutzer sich dann erneut authentifiziert, kann der Server die von der Seite zur erneuten Authentifizierung weitergegebenen Daten benutzen, um das Formular direkt abzusenden oder um eine Seite anzuzeigen, welche die Daten, die abgesendet werden sollen , zur Überprüfung enthält. Bei dieser Technik muss der Server keinerlei vom Benutzer gesendete Daten auf dem Server speichern. Dies ist eine wichtige Technik in den Fällen, in denen es entweder illegal oder ein Sicherheitsrisiko ist, auf dem Server Informationen temporär zu speichern. Sie ist außerdem nützlich, da sie den Server davon befreit, gespeicherte Informationen verwalten zu müssen und diese mit der neu authentifizierten Sitzung wieder zu verbinden.
Anmerkung: Wenn es sich bei den von den Benutzern eingereichten Daten um sensible Daten handelt oder diese ein Sicherheitsrisiko darstellen, sollten Autoren den Prozess, der benutzt wird, um die Daten an die Seite zur erneuten Authentifizierung zu übergeben und der, nach der erneuten Authentifizierung, diese an die Seite, welche die Originaldaten verarbeitet, zurück übergibt, überdenken um sicherzustellen, dass die Daten geschützt sind.
Ein Benutzer hat sich eingeloggt, um ein Wiki zu benutzen und beginnt mit der Bearbeitung einer Seite. Die zur Fertigstellung der Bearbeitung genommene Zeit überschreitet die Zeit, die der Server für die Inaktivität während einer Sitzung zugesteht. Wenn der Benutzer die Änderungen absendet, wird der Benutzer darüber informiert, dass die Sitzung abgelaufen ist und er wird auf eine Login-Seite umgeleitet. Das Skript, das die ursprüngliche Einreichung des Formulars verarbeitet, leitet die Änderungen als Variable an die Login-Seite weiter und, wenn der Benutzer sich erfolgreich eingeloggt hat, leitet die Änderungen des Benutzers zurück an das Skript, das die Einreichung der Formulare verarbeitet und die Änderungen werden so weiter verarbeitet, als wäre die Sitzung nicht abgelaufen.
Ein Benutzer hat sich in eine sichere Einkaufs-Site eingeloogt und füllt einige der Informationen auf einem Bestellformular aus. Aus Sicherheitsgründen läuft die Sitzung nach 30 Minuten ab, aber der Benutzer sendet das Formular erst 45 Minuten nach dem Laden der Seite ab. Der Benutzer wird über den Ablauf der Sitzung informiert und dazu aufgefordert, sich erneut einzuloggen. Wenn sich der Benutzer korrekt einloggt, wird ihm das Bestellformular mit allen vorher eingegebenen Daten angezeigt und der Benutzer kann seine Einträge überprüfen und das Formular absenden. Wenn der Log-In nicht erfolgreich durchgeführt wird, dann werden die Formulardaten vom Server verworfen.
Auf einer Site, die einen Log-In durch den Benutzer erfordert, um Daten abzusenden,
Loggen Sie sich ein und beginnen Sie mit der zeitlich begrenzten Aktivität.
Lassen Sie zu, dass die Sitzung abläuft.
Senden Sie die Daten ab.
Authentifizieren Sie sich erneut.
Prüfen Sie, ob der Prozess ohne Datenverlust fortgesetzt und fertiggestellt werden kann, einschließlich der Originaldaten und aller Änderungen, die nach der erneuten Authentifizierung gemacht wurden.
Prüfen Sie, ob der Prozess, der zum Speichern der in Schritt 3 abgesendeten Informationen benutzt wird, nicht auf dem Server gespeichert wird. (Anmerkung: Dazu sind Kenntnisse der Technik und Funktionen, die zur Implementierung benutzt wurden, erforderlich.)
Tests #5 und #6 sind wahr.
Wenn dies eine ausreichende Technik für ein Erfolgskriterium ist, dann bedeutet das Scheitern an diesem Testverfahren nicht zwangsläufig, dass das Erfolgskriterium nicht auf irgendeine andere Art und Weise erfüllt wurde, sondern nur, diese Technik nicht erfolgreich implementiert wurde und nicht benutzt werden kann, um die Konformität zu erklären.