Suche nach als

Header Info

Auf dieser Seite:

Automatische Umleitung

Wie Redirection funktioniert

Die Datei header_redirect.php auf welche das Formular in der Datei header_form.php verwies, prüfte die Variable und leitete den Browser sofort (ohne sich selbst darzustellen) auf diese Seite weiter.

header("Location:header_info.php");

<?php
# keine Ausgabe an den Browser, keine HTML Tags,
# nicht einmal ein Leerschlag oder eine Leerzeile oberhalb dieses Scripts
$radio=$_POST[radio];
if ($radio == "info") {
// header("Location:http://www.lehrling.biefer.com/php/header_info.php");
header("Location:header_info.php");
exit;
} else {
// header("Location:http://lehrling.biefer.com/php/datei.php");
header("Location:datei.php");
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title></title>
</head>
<body>
Falls keine Umleitung erfolgte (kein else), könnte danach normales HTML folgen.
</body>

Es kann wie oben eine relative oder es kann auch ein absoluter Pfad angegeben werden (letzteres wäre empfohlen).

Verbotene Umleitung

Umleitung in index Dateien

Möchte man alle Besucher eines gewissen Unterordners, welche nicht eine spezifische Datei in der Adresszeile eingegeben haben, los werden, dann kann die index.php mit einer Redirection versehen werden.

<?php
header("Location:http://www.biefer.com/nirvana/siewurdenumgeleitet.php");
?>

Umleitung von Domains

Wird eine Umleitung in der index Datei des Root Ordners vorgenommen, verschwindet die ganze Site aus dem Google-Ranking!
Z.B. in der index.php der Domain www.1000fragen.ch stünde:
<?php
header("Location:http://www.1000fragen.com/index.php");
// oder auch bei:
header("Location:http://www.1000fragen.ch/Unterordner/index.php");
?>
Dann wird www.1000fragen.ch aus allen Rankings gelöscht und verschwindet im Sandkasten.

Allgemeine Infos zum Header

Sobald eine Ausgabe durch den Browser stattfinden soll, wird zum Zweck der Kommunikation zwischen Server und Browser, einmalig und automatisch ein Header vom Server zum Browser gesendet. Wenn bereits ein Header gesendet wurde, kommt ein Redirect-Header zu spät und löst eine Fehlermeldung aus! (Andere Header siehe weiter unten.)

Debug

Zum Auffinden der Schwachstelle, die bereits einen Versand des Headers ausgelöst hat, kann folgende Funktion verwendet werden:

<?php
if (headers_sent ($file, $line)) {
print "Headers wurden gesendet in Datei: $file von Zeile: $line";
?>
Header wurde gesendet in Datei: /home/bieferc/www/lehrling/abc/navigation_php.inc auf Zeile: 186

Was in einem Header steht

Der Server teilt dem Browser durch den automatisch generierten Header bei dessen Ankunft den Status der Datei mit. Diese IDs können aber auch in der Datei vorgegeben werden, dem Browser wird bewusst eine (falsch-) Info zugespielt!

Dateityp (Inhalt der Datei) vorgeben

Folgende Seite wird nicht geparst sondern der ganze Code wird so dargestellt, weil die Seite vorgibt nur Text zu sein:

davor steht nichts
<?php
header("Content-Type: text/plain");
?>

Wenn mit den PHP image functions ein Bild dynamisch erzeugt wird, das auch als Bild im Browser angezeigt werden soll, muß der Typ explizit angegeben werden:

davor steht nichts
<?php
header("Content-Type: image/png");
?>

Wenn sich eine Datei als binär ausgibt, wird sie vom Browser zum Speichern vorgeschlagen, der Speichername ist der existierende Dateiname:

davor steht nichts
<?php
header("Content-Type: application/octetstream");
header("Content-Transfer-Encoding: binary"); // sicherheitshalber auch noch so
header("Content-Length: {Dateigroesse}"); // Dateigröße zum Berechnen der Downloadzeit
?>

Zwischenspeichern verhindern

davor steht nichts
<?php
header("Expires: -1");
header("Cache-Control: post-check=0, pre-check=0");
header("Pragma: no-cache");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
?>

Zusätzlich für IE ab Version 5 den folgenden HTML-Code am Anfang der Datei, d.h. zwischen <html> und <head>

[language=HTML]
<head>
<meta http-equiv="pragma" content="no-cache">
</head>

Achtung: Eine solche Datei wird von Suchrobotern ignoriert.

 


Valid XHTML 1.0 Check den Code.

Cookie >> << Redirect
Ich bin hier: > PHP Lehrling >>> Header Info
 
HTML und XHTML | CSS | JavaScript und DHTML | PHP und MySQL | Andere Sprachen
Letzter Update: 31.10.2009