it-swarm.com.de

Sollte ich auf der Fehlerseite angeben, dass der Benutzer existiert oder gelöscht wurde?

Auf einer gewöhnlichen öffentlichen Website ist das Benutzerprofil immer für alle Besucher öffentlich sichtbar (z. B. Stapelüberlauf). Dort können sie bestimmte Informationen über die Datenschutzeinstellungen einschränken oder nur die Informationen entfernen. Jetzt hat der Benutzer beschlossen, sein Konto zu löschen (in meinem Fall zu deaktivieren), damit sein Konto technisch nicht mehr "existiert". So wie mein System eingerichtet ist, wird bei Deaktivierung seines Kontos sein Benutzername für alle mit ihm verbundenen Inhalte einfach zu "Anonymer Benutzer", als wäre es ein Gast, der etwas gepostet hat.

Ich habe das Gefühl, dass dies andere Benutzer verwirren könnte. Ich mache mir auch Gedanken darüber, welche Art von Fehler angezeigt wird, wenn jemand versucht, seine Profilseite anzuzeigen. Mein Darm sagt mir, dass ich nur eine Standard-404-Seite anzeigen soll, um die Tatsache zu verbergen, dass sie jemals existiert hat. Dann muss man aber auch bedenken, dass, da Benutzernamen eindeutig sein müssen, jeder auf die Registrierungsseite gehen und den Benutzernamen eingeben kann, um zu sehen, ob es wirklich existiert oder nicht.

Ich habe ein ähnliches Problem mit einer anderen Website, bei der Benutzer ihre Profile vor der Öffentlichkeit verbergen und nur registrierten Benutzern das Anzeigen ermöglichen können. Wieder ist es das Dilemma, welche Art von Fehlermeldung angezeigt werden soll, wenn ein nicht registrierter Benutzer versucht, sein Profil mit ungültigen Berechtigungen anzuzeigen.

Wäre es also akzeptabel, grundlegende Fehler wie "Benutzer wurde deaktiviert" oder "Sie müssen angemeldet sein, um dieses Profil anzuzeigen" anzuzeigen, um anderen Besuchern eine Vorstellung davon zu geben, warum die Seite nicht angezeigt werden kann oder sollte Ich versuche, die Privatsphäre des Benutzers ein wenig zu schützen und zeige nur einen Standard 404 an, ohne in irgendeiner Weise darauf hinzuweisen, dass der Benutzer möglicherweise existiert. Gibt es noch andere Probleme, die mir bei beiden Routen nicht auffallen?

Soll ich überhaupt den Namen des Benutzers in "Anonymer Benutzer" ändern, wenn sein Konto deaktiviert ist? Wäre es akzeptabel, nur eine nicht verknüpfte Version ihres Benutzernamens anstelle des normalen verknüpften Anzeigenamens anzuzeigen?

3
animuson

Ich habe einen vernünftigen Weg gefunden, um all diese verschiedenen Probleme mit einer einzigen Botschaft zu bewältigen. Durch einfaches Anzeigen einer allgemeinen Meldung wie "Sie können diese Seite nicht anzeigen" werden die Datenschutzprobleme behoben, aber nicht die Verwirrung. Also werde ich auch alle die möglichen Gründe für den Erhalt des Fehlers auflisten. Es würde ungefähr so ​​aussehen:

Beim Anzeigen dieser Seite ist ein Problem aufgetreten.

Mögliche Gründe:

  • Der angegebene Benutzer existiert nicht in unserem System.

  • Der Benutzer erlaubt anonymen Benutzern nicht, ihr Profil anzuzeigen.

  • Der Benutzer hat sein Konto deaktiviert.

Da dies auch die Fälle abdeckt, in denen der Benutzer zunächst nicht existiert, kann ein Benutzer, der diese Seite anzeigt, nicht wissen, ob der Benutzer existiert hat oder nicht (es sei denn, er wusste, dass er zuvor existiert hat). Wenn sie damit gerechnet haben, dass der Benutzer existiert, werden Alternativen vorgeschlagen, warum dies nicht der Fall ist.

Das Problem dabei ist, dass es drei Statuscodes kombiniert:

  • 401 Nicht autorisiert für "Muss angemeldet sein, um zu sehen"

  • 403 Verboten für "Benutzer deaktiviert"

  • 404 Nicht gefunden für "Benutzer existierte nie"

Da die Verwendung einer 401 oder 403 für die anderen beiden (bzw.) absolut keinen Sinn ergibt, werde ich mich an einen 404-Statuscode halten. Das Senden einer 200-OK-Antwort ist absolut inakzeptabel, da Suchmaschinen die Seite frei zwischenspeichern können, da sie denken, dass es sich um eine tatsächliche Seite handelt. Wenn ein Benutzer zuvor existiert und ist ​​zwischengespeichert wurde, führt dies zu noch mehr Verwirrung. Wenn Sie einen 404-Code senden, werden Suchmaschinen hoffentlich dazu aufgefordert, den Cache zu löschen, um den Verlauf dieses Benutzers zu löschen (wenn sie ihr Konto deaktiviert haben oder später beschlossen haben, es privat zu machen). Gemäß seine Beschreibung :

Die angeforderte Ressource wurde nicht gefunden, ist jedoch möglicherweise in Zukunft wieder verfügbar. Nachträgliche Anfragen des Auftraggebers sind zulässig.

Obwohl die Seite technisch "gefunden" werden kann, ist es die nächste Sache. Es wird ordnungsgemäß angezeigt, dass die angeforderte Seite zumindest im Moment nicht vorhanden ist, es ihnen jedoch nicht untersagt, in Zukunft weitere Anfragen zu stellen, um zu überprüfen, ob sie vorhanden sind.

1
animuson

Ich würde nicht mit einer 404-Seite gehen. Eine 404-Seite ist nicht nur eine Seite, sondern auch eine Antwort. Der Client wird darüber informiert, dass die Seite nicht gefunden wurde. Dass es irgendwie gelöscht wurde oder die URL falsch ist.

Wenn Sie eine Sitzung verwenden, um Informationen auszublenden, die nur angemeldeten Benutzern zur Verfügung stehen, können Sie die Seite mit der von Ihnen gewählten serverseitigen Skriptsprache (asp, coldfusion, jsp, php) entsprechend den Sitzungsrechten anzeigen Informationen anzeigen.

Wenn ein Profil gelöscht wurde, löschen Sie es nicht aus Ihrem Datenspeicher. Fügen Sie stattdessen eine Spalte für isdeleted hinzu und markieren Sie diese mit yes. Wenn jemand ein Löschprofil erreicht, lassen Sie einfach Ihre Site generieren, der Benutzer befindet sich nicht mehr auf unserem System und gibt ihm einige weitere Optionen. Beispiel: Jemand schließt sein Dating-Profil auf einer Dating-Website, aber Sie schlagen andere Übereinstimmungen vor.

Es ist sehr wichtig, keine Daten zu löschen. Angenommen, ein Benutzer löscht und kommt 6 Monate später wieder. Durch das Speichern ihres Profils erhalten Sie die Möglichkeit, Benutzer, die Sie durch E-Mail-Kampagnen und mehr verloren haben, zurückzugewinnen. Ich glaube nicht, dass sogar Facebook Ihr Profil tatsächlich löscht.

Stellen Sie sicher, dass in Ihren Bedingungen angegeben ist, wie lange diese Informationen gespeichert werden, bevor sie endgültig gelöscht werden.

3
Frank

Ich würde nicht öffentlich angeben, dass ein Konto deaktiviert oder gelöscht wurde. Ein Hinweis, wie Sie sagten "Sie müssen angemeldet sein, um dieses Profil anzuzeigen", ist gut oder "Sie haben keine Berechtigung, diesen Inhalt anzuzeigen" oder "Sie müssen angemeldet sein, um diesen Inhalt anzuzeigen". Etwas Generisches in diese Richtung

1
Anagio