Automatischer link

Hallo,
ich habe eine Art Passwortschutz programmiert und das Funktioniert auch gut, außer das der Html-code in die PHP echo-Funktion geschrieben wird, un da funktioniert ja manches nicht (zbs. Links)! Also habe ich mir überlegt, das wenn das Passwort falsch ist man weiter geleitet wird.
Nur müsste das Passieren, ohne dass der Benutzter dies verhindern kann, und das bei allen Browsern funktioniert.
Geht das???
Und wenn ja, wie???
max

Hm, ein wenig nebulös …

ich habe eine Art Passwortschutz programmiert und das
Funktioniert auch gut, außer das der Html-code in die PHP
echo-Funktion geschrieben wird, un da funktioniert ja manches
nicht (zbs. Links)!

Nanu?

Also habe ich mir überlegt, das wenn das

Passwort falsch ist man weiter geleitet wird.
Nur müsste das Passieren, ohne dass der Benutzter dies
verhindern kann, und das bei allen Browsern funktioniert.
Geht das???
Und wenn ja, wie???

header(„location: hier die url“);

Dagegen kann sich Keiner wehren…

Soll heißen: Schickt der Anwender die falschen Werte (ob über GET oder POST, keine Ahnung, wie Du dies gestaltet hast), so lenkst Du ihn mit header einfach auf eine andere Seite oder erneut zur Anmeldung.

ich habe eine Art Passwortschutz programmiert und das
Funktioniert auch gut, außer das der Html-code in die PHP
echo-Funktion geschrieben wird, un da funktioniert ja manches
nicht (zbs. Links)!

Links sollten eigentlich funktionieren?

echo ‚bla blubb‘;

header(„location: hier die url“);

Dagegen kann sich Keiner wehren…

Nicht ganz. Es gibt Proxys und PlugIns, die diesen Headerbefehl filtern. Also sollte man die Ausgabe danach beenden (per die() z.b.)

Jetzt werde ich neugierig!

header(„location: hier die url“);

Dagegen kann sich Keiner wehren…

Nicht ganz. Es gibt Proxys und PlugIns, die diesen
Headerbefehl filtern. Also sollte man die Ausgabe danach
beenden (per die() z.b.)

Für gewöhnlich entscheidet der Webserver, was geschieht. Meinte ich bisher…

Wir haben eine Anfrage, die aufgerufene Seite schaltet in Reaktion auf irgendwelche Bedingungen auf eine andere um. Die Header-Anweisung kennt nur der Webserver selbst, auf welchem die PHP-Seite läuft. Also kommt als Antwort nicht die Seite, die der Browser erwartet sondern eine andere.

Das Einzige, was störend wirken kann, ist doch nur die Einstellung von Proxi und Webbrowser, dass Redirekt und ähnlicher Kram nicht akzeptiert wird.

So habe ich es bisher immer verstanden. Was ist daran falsch?

Die Header-Anweisung wird an den Browser gesendet. Dieser weiss dann „aha, da ist ein Location-Redirect, also breche ich mal das Laden der Seite ab und gehe auf die da genannte Seite“.
Der Webserver liefert aber, sofern der Browser das laden nicht abbricht, alle anderen Anweisungen weiter aus.
Wenn möglich sollte man (so mache ich es meistens) eine Kombination aus mehreren Techniken verwenden um den Besucher sicher weiter zu leiten:

  • Header-Location-Redirect
  • Meta-Redirect
  • Javascript-Redirect
  • Manueller Link auf die anzusurfende Seite

Wenn man das ganze auf einer Seite implementiert am einfachsten eine Funktion dafür schreiben. Die Seite mit dem Meta-Redir, dem JS-Redir und manuellen Link braucht ja auch nicht sonderlich schick gestaltet sein, da es eh die wenigsten zu sehen bekommen.
Am Ende der Auslieferung dieser Weiterleitungen sollte das komplette Script dann abbrechen.

Oha,
so hab ich das noch gar nicht gesehen.
Danke für den Tipp!

Das ist füt einen Passwortgeschützten Bereich trotzdem ungeeignet!

Lies dir ALLE Antworten bitte noch einmal durch. Das ist eigentlich genau das was man für einen passwortgeschützten Bereich beachten muss um einen automatischen Redirect zu erreichen und ihn sicher zu machen.

Ja, aber es steht ja dort, dass das nicht unbedingt funktionieren muss!
Außerdem klappt das mit der Echo-Anweisung jetzt auch!
Danke an alle die geantwortet haben,
max