-
07. 12. 2007, 01:12 #1
[PHP] IP Ban Script - Rangeban tauglich machen
Hallo.
Ich habe mir ein Script runtergeladen, dass mir erlaubt andere von meiner Seite zu bannen.
Jedoch geht dies nur, wenn ich die direkte IP eingebe.
Ich wollte fragen, ob jemand das Script so umschreiben kann, dass ich auch die Range der IP eintragen kann. Also dann statt 91.23.03.93 nur 91.23.*.* oder 91.23
Vielen Dank schonmal!
Code:<!--Start of Banned IP Addresses & Security Log Script --> <?php // Allows you to ban people from viewing your website. $getip = $_SERVER["REMOTE_ADDR"]; $getdate = date( "l dS of F Y" ); $gettime = date( "h:i:sa (@B" ); $banned_ip = array(); $banned_ip[] = '111.111.111.111'; $banned_ip[] = '111.111.111.112'; $banned_ip[] = '111.111.111.113'; $banned_ip[] = '111.111.111.114'; foreach($banned_ip as $banned) { $ip = $_SERVER['REMOTE_ADDR']; if($ip == $banned){ echo "You are banned."; $fp = fopen("log.dat", "a"); fputs($fp, "**BANNED** Visit logged on $getdate at $gettime internet time) for IP: $getip "); fputs($fp, ""); fclose($fp); exit(); } } echo "<b><font size=3 color=#000000>Update in progress.</font></b>"; echo "<br />"; echo "'<b><font color=#007700>Authorized Visit</font></b>' detected and logged on $getdate at $gettime internet time) for IP: $getip"; $fp = fopen("log.dat", "a"); fputs($fp, "Authorized Visit logged on $getdate at $gettime internet time) for IP: $getip "); fputs($fp, ""); fclose($fp); ?> <!--End of Banned IP Addresses & Security Log Script -->
-
07. 12. 2007, 01:35 #2
Re: [PHP] IP Ban Script - Rangeban tauglich machen
Lies' dir die Literatur zu `regular expressions` durch, das dürfte in deinem Fall wohl das einfachste sein. Auch wenn ein Bann nach Subnetz besser wäre.
PHP-Code:<!--Start of Banned IP Addresses & Security Log Script -->
<?php // Allows you to ban people from viewing your website.
$getip = $_SERVER["REMOTE_ADDR"];
$getdate = date( "l dS of F Y" );
$gettime = date( "h:i:sa (@B" );
$banned_ip = array();
$banned_ip[] = '/111\.111\.\d+\.\d+/';
$banned_ip[] = '/112\.111\.\d+\.\d+/';
$banned_ip[] = '/4\.2\.2\.2/';
foreach($banned_ip as $banned) {
if(preg_match($banned,$getip)){
echo "You are banned.";
$fp = fopen("log.dat", "a");
fputs($fp, "**BANNED** Visit logged on $getdate at $gettime internet time) for IP: $getip\n");
fclose($fp);
exit();
}
}
echo "<b><font size=3 color=#000000>Update in progress.</font></b>";
echo "<br />";
echo "'<b><font color=#007700>Authorized Visit</font></b>' detected and logged on $getdate at $gettime internet time) for IP: $getip";
$fp = fopen("log.dat", "a");
fputs($fp, "Authorized Visit logged on $getdate at $gettime internet time) for IP: $getip\n");
fclose($fp);
?>
<!--End of Banned IP Addresses & Security Log Script -->Mit Grüssen aus'm Ozean
KugelfischToday is Sweetmorn, the 41st day of Chaos in the YOLD 3178
-
07. 12. 2007, 01:55 #3
Re: [PHP] IP Ban Script - Rangeban tauglich machen
Hallo Kugelfisch!
Vielen Dank für deine schnelle und wirksame Antwort.
Es klappt wunderbar.
Grüße
-


Zitieren
mehr lesen...





IT-Geschichte: Spender können...
Gestern, 23:04 in gulli:news