<?php | |
// fill in with network addresses in CIDR notation: | |
$bans = array( | |
'xxx.xxx.xxx.xxx/yy' | |
); | |
function checkban($ipstring) { | |
global $bans; | |
$ip = ip2long($ipstring); | |
foreach ($bans as $ban) { | |
$parts = split("/", $ban, 2); | |
$net = ip2long($parts[0]); | |
$cidr = (int)$parts[1]; | |
if (($net >> $cidr) == ($ip >> $cidr)) | |
return true; | |
} | |
return false; | |
} | |
if (checkban($_SERVER['REMOTE_ADDR'])) { | |
// BANNED USER | |
} | |
else { | |
// NORMAL USER | |
} | |
?> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment