HTTP Header Check mit PHP

Dieses kleine PHP-Script liest die an den Client gesendeten HTTP Response Code eines Servers aus. Damit kann man vor allem den HTTP Statuscode auslesen, der nach Aufruf einer Seite gesendet wird, um zu überprüfen, ob man seine Seiten korrekt programmiert hat.

Neben den HTTP Headern, folgt dieser Header Check Weiterleitungen und zeigt die IP-Adressen der angesprochenen Server an. Damit das Script nicht sofort von besorgten Webmastern gesperrt wird, übermittelt es als Useragent die URL unter der es läuft:

<html>
<head>
<title>Header Check</title>
<head>
<body>
<?
$script_host = $_SERVER[SERVER_NAME];
$script_pfad = $_SERVER[PHP_SELF];
$ua = "http://".$script_host.$script_pfad;
?>
<form action="<? echo $script_pfad; ?>" method="get">
<input type="text" name="urlcheck" size="30" value="http://">
<input type="submit" class="button" value="Check Header"></form>
 
<?php
error_reporting(false);
// IP der domain ermitteln
function get_ip($my_url) 
{
$url_array = parse_url($my_url);
$ip = gethostbyname($url_array[host]);
return $ip;
}
//formularwert abholen
$url = strip_tags($_REQUEST[urlcheck]);
if (!empty($url))
{
//auf http oder https am anfang überpfrüfen
preg_match("/^http:\/\/[a-zA-Z0-9\/,-;.:]|^https:\/\/[a-zA-Z0-9\/,-;.:]/", $url, $treffer);
if (!empty($treffer))
{
$start_ip=get_ip($url);
echo "<b>HTTP-Header von</b> <a href=\"" . $url ."\">" . $url . "</a>&nbsp;&nbsp;&nbsp;= ". $start_ip ."<br />";
//get_headers optionen
$opts = array('http' => array('user_agent'=>$ua));
stream_context_get_default($opts);
$urls = get_headers($url, 0);
//array ist leer!
if (empty($urls))
{
echo "<br/><b>Fehler!</b><br />";
}
 
//array auswerten
foreach ($urls as $wert) {
 
//http-status fett
$wert = preg_replace('/^HTTP(.*)/', '<br \/><b>HTTP\1</b>', $wert);
 
//Sonderbehandlung für Location
if (strstr($wert, 'Location'))
{
$wert1=preg_replace('/^Location(.*)/', '<b>Location\1</b>', $wert);
$redirect_ip=get_ip(str_replace("Location: ", "", $wert));
$wert3="&nbsp;&nbsp;&nbsp;= ". $redirect_ip;
$wert="$wert1$wert3";
}
 
//bei allen weiteren angaben leerzeichen einfügen
echo preg_replace('/^(.*):( )/', '<i>\1:</i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;', $wert) ."<br />";
}
}
//keine gültige URL eingegeben!
else
{
echo "<br/><b>Fehler!</b><br />";
}
}
//startaufruf - eingabe leer
else
{
echo "<br/><b>Bitte URL eingeben!</b><br />";
}
?>
</body>
</html>

Header Check auf isadp.com ausprobieren.

21-03-2010
Kommentar ablassen:

Abschicken!


Mehr
Ip einer Domain herausfinden
Domains auf einer IP finden – PHP
.htaccess Weiterleitung mit Sonderzeichen
Wordpress Head aufräumen Teil 2
Samsung SGH-C270 Wap / Internet sperren

Sitemap & Archiv
Impressum & Datenschutz
Tag the Web

« - »