This is NOT tested:
edit functions.php, find:
PHP Code:
$ipaddress=$HTTP_SERVER_VARS['REMOTE_ADDR'];
After that add:
PHP Code:
if (getenv("HTTP_FORWARDED")!="") {
$proxyip=getenv("HTTP_FORWARDED");
} elseif (getenv("HTTP_X_FORWARDED_FOR")!="") {
$proxyip=getenv("HTTP_X_FORWARDED_FOR");
} elseif (getenv("HTTP_CLIENT_IP")!="") {
$proxyip=getenv("HTTP_CLIENT_IP");
} else {
$proxyip="";
}
find
PHP Code:
if (strstr(" ".$ipaddress," ".trim($val))!="") {
eval("standarderror(\"".gettemplate("error_banip")."\");");
}
After that add:
PHP Code:
if ($proxyip AND strstr(" ".$proxyip," ".trim($val))!="") {
eval("standarderror(\"".gettemplate("error_banip")."\");");
}
What it does is this: It checks if user has a proxy user and if yes it not only matchs his proxy IP but also real IP for banned IPs and if either one matches, he is banned.
However please notice that not every proxy server sends the real IP to your site so your users might have a point while saying you can not get their real IP anyway if they are using such a proxy server.
Again I didn't test the hack myself..