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
Nog geen reacties.