// ERROR.PHP
if (isset($_GET['err'])) {
$errorNum = $_GET['err'];
} else {
$errorNum = "undef. number";
}
//CAMBIARE QUESTA EMAIL
$emailaddress = "sourcenetitalia@gmail.com";
/*
OPZIONALE:
nel file blocked_ref.txt vanno inserite, se necessario, le coppie
indirizzo IP - URL di chi fa hot linking a files inesistenti
146.34.34.110
http://www.somedomain.com/filename.htm
*/
$filename = "http://".$_SERVER['HTTP_HOST']."/blocked_ref.txt";
// Se il file non e' vuoto controllo gli indirizzi
if (!empty($_SERVER['HTTP_REFERER'])) {
$bad_ref = file ($filename);
$bad_counter = 0;
foreach ($bad_ref as $val) {
if (substr($_SERVER['HTTP_REFERER'], 0, 20) == substr($val, 0, 20)) {
$bad_counter++;
}
}
if ($bad_counter > 0) {
header("Location: http://".$_SERVER['HTTP_HOST']);
die();
} else {
$errortime = (date("d M Y h:i:s"));
$message = $errorNum.", Report di Errore\r\n\r\nUn errore ".$errorNum." generato da ".$_SERVER['REMOTE_ADDR'];
$message .= " il $errortime.\r\n\r\n";
$message .= "La pagina che ha generato errore è: \nhttp://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']."\r\n\r\n";
$message .= "La pagina di provenienza era:\n".$_SERVER['HTTP_REFERER']."\r\n\r\n";
$message .= "Il browser utilizzato era:\n".$_SERVER['HTTP_USER_AGENT']."\r\n\r\n";
$headers = "From: ".$emailaddress."\nDate: ".$errortime." +0200\n";
$subject = "Error: ".$errorNum." da ".$_SERVER['HTTP_REFERER'];
//mail($emailaddress, $subject, $message, $headers);
}
} else { // controllo gli indirizzi
$bad_ref = file ($filename);
$very_bad_counter = 0;
foreach ($bad_ref as $val) {
if (substr($_SERVER['REMOTE_ADDR'], 0, 10) == substr($val, 0, 10)) {
$very_bad_counter++;
}
}
if ($very_bad_counter > 0) {
header("Location: http://www.google.com"); // redir per hot linking
die();
}
}
// Qui il codice HTML per il visitatore
echo "
404 - PAGE NOT FOUND
Back to Home
", PHP_EOL;
echo "
404 - PAGINA NON TROVATA
Torna alla Home ", PHP_EOL;
?>