frank Mitglied
Angemeldet: 24.09.2005 Beitrge: 319
|
Verfasst am: 25.08.2006, 17:35 Titel:
IP Ban function |
|
|
|
|
Code: | function ip_ban($ip) {
include("../config.inc.php");
$dbh = new sql($mysqlhost, $mysqluser, $mysqlpass, $mysqldb);
$iparr = explode("+",$ip);
$sql = "SELECT banip FROM ".$mysqlprefix."bans";
$query = $dbh->query($sql);
$rows = $dbh->num_rows($query);
if($rows){
while ( $row = $dbh->fetch_array($query)) {
$banc = 0;
$banip = preg_replace("#\.+#", "+", $row['banip']);
$banip = explode("+",$banip);
$i = 0;
while($i <= 3){
if(($iparr[$i] == $banip[$i]) || ($banip[$i] == "*")) { $banc++; }
if($banc >= 4) { return true; }
$i++;
} } }
else { return false; }
}
if(ip_ban(preg_replace("#\.+#", "+", $_SERVER['REMOTE_ADDR']))) die("You are banned from this website using ip(range) bans. Please contact the administrator for more information."); |
Funktioniert so, dass ne ip aus der db gelesen wird. hab hier nen replace der punkte in +, geht aber auch ohne, war nur bei mir einfacher.
masks durch * machbar. also z.b. 123.123.32.* |
|
Panda Mitglied
Angemeldet: 25.03.2005 Beitrge: 190 Wohnort: Marburg
|
Verfasst am: 25.08.2006, 17:53 Titel:
|
|
|
|
|
naja, nicht so toll das tutorial, du solltest im quellcode noch erklrungen machen, ansonsten versteht jmd., der sich nicht mit php auskennt, nichts davon |
|