it-swarm.com.de

403s in 404s verwandeln?

Ich arbeite derzeit an einer Webanwendung mit unterschiedlichen Zugriffsebenen. Benutzer können auf einige Bereiche der Anwendung zugreifen, dürfen jedoch möglicherweise nicht auf einen anderen Bereich zugreifen.

Die Anwendung wird mit sauberen URLs erstellt, z. B.: http://mysite.com/projects/newproject1

Das System bestimmt, auf was der Benutzer zugreifen kann, und erstellt Schaltflächen/Menüs/Links für diese Elemente. Der Benutzer wird niemals einen Link/eine Schaltfläche oder ein Menü zu etwas sehen, auf das er keinen Zugriff hat.

Da die Anwendung jedoch mit sauberen URLs erstellt wurde, kann jemand, der keinen Zugriff auf das Projektmodul oder "newproject1" im Projektmodul haben sollte, versuchen, direkt über die URL auf diesen Bereich zuzugreifen. Die URL wird ihnen möglicherweise per E-Mail gesendet, oder sie versuchen nur, intelligent zu sein und zu prüfen, ob sie auf diesen Bereich der Anwendung zugreifen können.

Ich denke derzeit darüber nach, alle Fälle von "verbotenen Anfragen" als Fehler "Seite nicht gefunden" zu behandeln:

  • Anstatt eine 403 in der HTTP-Antwort zu senden, wird eine 404 gesendet.
  • In einer Nachricht wird ihnen mitgeteilt, dass die Seite nicht verfügbar ist, anstatt dass eine Seite besagt, dass sie nicht darauf zugreifen und sich bei Fragen an ihren Systemadministrator wenden dürfen.
  • Gleiches gilt für nicht gefundene Seitenfehler. Ein 404 wird gesendet und wir werden eine Nachricht anzeigen, die besagt, dass die Seite nicht verfügbar ist.

Ist das eine gute Idee?

4
F21

Da Ihre Frage im Wesentlichen ' Ist das eine gute Idee? ' ist, würde ich Nein sagen, ist es nicht.

Benutzer versuchen möglicherweise, klug zu sein oder sind tatsächlich schlauer. Woher wissen Sie das? Was ist, wenn der Benutzer ein UI-Designer/PHP Entwickler selbst) ist?

Wenn Sie einen 404 fälschen möchten, empfehle ich Ihnen, dies so zu tun, dass die Nachricht in beide Richtungen interpretiert werden kann. Ein sachkundiger Benutzer wird verstehen, dass dies ein "Keep Off" -Signal bedeutet, während ein naiver Besucher möglicherweise ein "Entschuldigung, nein" sieht.

Es hat mir sehr gut gefallen, als sie das " das ist alles was wir wissen " erfanden. komplett mit einem Punkt am Ende.

8
Kris

Nun, wenn sie neugierig sind oder versuchen, klug zu sein, mit einem Webcrawler oder einem solchen Tool oder sogar Googlebots, werden sie viele 404 sehen, aber sie werden nicht aufhören. Der 403 ist ein "Stop genau dort", der 404 scheint ein "Pech, versuchen Sie es noch einmal". Außerdem wird es für gute Benutzer schwierig sein, Ihnen zu sagen, ob sie Probleme mit dem Zugriff oder einer anderen Art haben, da sie nur 404 sehen.

3
alfa64

Dies ist eher eine Back-End-Antwort. Nein keine gute Idee, wenn Sie die Benutzeroberfläche ändern möchten, damit die 403- und eine 404-Seite gleich aussehen.

Auf der Antwortseite ist es jedoch für einige immer noch wichtig zu wissen, ob die Seite vorhanden ist oder ob die Seite verboten ist

Ich weiß nicht, wie Ihre App aussieht oder was der Zweck Ihres Projekts ist. Nehmen wir jedoch an, Sie bitten mich, ein Back-End-Crawling auf Ihre Website durchzuführen. Beim Debuggen erhalte ich immer wieder die Antwort 404. Dies ist sehr verwirrend Ich gehe davon aus, dass die Seite nicht vorhanden ist, und versuche dann, ein anderes Ende zu reparieren. Wenn Sie jedoch eine 403 werfen, weiß ich genau, Ahhh. Der Server lässt mich nicht rein, ich muss etwas falsch machen.

Wenn Sie sich jedoch Sorgen um die Benutzer machen und Sie mit 403 Verwechselt werden, sieht das Frontend wie eine 404 Seite aus!

Wenn Sie sich Sorgen um die Sicherheit machen, stellen Sie sicher, dass Ihr 403 immer richtig ist und niemand daran vorbeikommen kann.

Die Häufigkeit, mit der ich die Antwort 200 Gesendet habe, wenn auf der Seite deutlich steht, dass 404 Nicht gefunden wurde. Dies ist schlecht schlecht und sehr schlecht !

0
whoami