Scripts
Error_handler
Leuke errorhandler gezocht? Lees dan maar verder..... Ook altijd die lelijke errortjes op je scherm? En wat nou als iemand die ziet: Bijvoorbeeld een hacker. Dan heb je misschien wel een probleempje. Met dit script kan je alles helemaal instellen naar jou wens om te zorgen dat alle error s niet op het scherm van de gebruiker komen, maar in jou mailbox! PS: Include dit bestand voordat er ergens een fout kan worden veroorzaakt!
errorhandler
error_handler.php
[code]
<?php
//Configuratie
$mailenbijerror = TRUE; //Moet er naar jou gemailt worden als er een fout is opgetreden? Verander TRUE/FALSE
$mailennaar = "jouwe-mailadres@ext"; //Als er gemailt word, waarnaartoe is het dan....
$sitenaam = "jouwsitenaam"; //Je sitenaam invullen
$errorhandler = TRUE; //Moet de error_handler het doen of wil je gewoon die andere errortjes? Verander TRUE/FALSE
$echo = TRUE; //Stuur naar de gebruiker of er een fout is opgetreden of niet.
$zegbijerror = "Er is een fout opgetreden op deze pagina.<br /><br />"; //Wat moet er op het scherm staan als er geëchot word?
//Functie HIER NIET AANZITTEN
function error_handler($errno, $errmsg, $errfile, $errline, $vars){
//Zorgen dat deze variabelen beschikbaar zijn
global $mailenbijerror;
global $mailennaar;
global $sitenaam;
global $echo;
global $zegbijerror;
//Errornummers omzetten naar tekst error
$errors = array(
1=>'E_ERROR',
2=>'E_WARNING',
4=>'E_PARSE',
8=>'E_NOTICE',
16=>'E_CORE_ERROR',
32=>'E_CORE_WARNING',
64=>'E_COMPILE_ERROR',
128=>'E_COMPILE_WARNING',
256=>'E_USER_ERROR',
512=>'E_USER_WARNING',
1024=>'E_USER_NOTICE'
);
//Wat gegevenstjes verzamelen
$ip = $_SERVER['REMOTE_ADDR'];
$url = $_SERVER['REQUEST_URI'];
$browser = $_SERVER['HTTP_USER_AGENT'];
$host = $_SERVER['HTTP_HOST'];
$errordate = date('Y:m:d:H:i:s');
$errorname = $errors[$errno];
$errormsg = $errmsg;
$errorfile = $errfile;
$errorline = $errline;
//Eventueel iets naar gebruiker sturen
if($echo==TRUE){
echo $zegbijerror;
}
$onderwerp = "Error: ".$errorname;
$headers = "From: Error Handler ".$sitenaam."\r\n";
$headers .= "Return-Path: No-Replay\r\n";
$headers .= "Reply-To: No-repy\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$bericht = '<html>
<head>
<title>Errors</title>
</head>
<body bgcolor="#000000" text="#FFFFFF">
<h1>Error: '.$errorname.'</h1><br>
<h3>Ey ouwe vriend!<br>
Ik heb euhm, hoe zal ik het zeggen?<br>
Niet zo goed nieuws!<br>
Er is namelijk een foutje opgetreden op '.$sitenaam.'^^<br>
Ik hoop dat je het niet erg vind, want ik heb het niet veroorzaak!<br>
Nou ja hier komt de informatie dan:</h3><br><br>
Op '.$errordate.' is er in het bestand '.$errorfile.' een vervelende fout opgetreden.<br>
Ip van gebruiker: '.$ip.'<br>
Url van gebruiker: '.$url.'<br>
Browser van gebruiker: '.$browser.'<br>
Host: '.$host.'<br>
<br>
<h2>Technische gegevens</h2>
Error naam: '.$errorname.'<br>
Error message: '.$errormsg.'<br>
Error file: '.$errorfile.'<br>
Error line: '.$errorline.'<br>
<br>
Groetjes de error handler!
</body>
</html>';
if(!$mailenbijerror){}else{
@mail($mailennaar,$onderwerp,$bericht,$headers);
}
}
if($errorhandler==TRUE){
set_error_handler('error_handler');
}
?>
[/code]
Reacties
0