<?php
//ip_ban.inc.php
class IP_ban {
	public $Filename = NULL;
	
	function __construct($Filename) {
		$this->Filename = $Filename;
	}
	function Ban_IP($IP, $Hours_banned) {
		$Expire_date = mktime(date('H')+$Hours_banned,date('i'),date('s'),date('m'),date(d),date('Y'));
		
		$Content = @file_get_contents($this->Filename);
		$Handle = fopen($this->Filename, 'w+');
		$Content = $IP."\t".$Expire_date."&\r\n".$Content;
		fwrite($Handle, $Content);
		
		fclose($Handle);
	}
	function Is_banned($IP) {
		$Now = time();
		
		$Handle = @fopen($this->Filename, 'r');
		$Content = @fread($Handle, filesize($this->Filename));
		$Content = strstr($Content, $IP);
		if($Content === 0) {
			return 0;
		}
		else {
			$Content = str_replace($IP."\t", '', $Content);
			$Content = explode('&', $Content);
			$Expire_date = $Content[0];
			if($Now > $Expire_date) {
				return 0;
			}
			else {
				return 1;
			}
		}
	}	 
}
?>
<?php
//voorbeeld
include('ip_ban.inc.php');

$IP_ban = new IP_ban('blacklist.txt');

//Ban een IP: Ip, x aantal uur.
$IP_ban->Ban_IP($_SERVER['REMOTE_ADDR'], 5);

//Kijk of een ip verbannen is:
if($IP_ban->Is_banned($_SERVER['REMOTE_ADDR']) ) {
echo 'Verbannen';
}
else {
echo 'Niet verbannen';
}
?>