Ban Proxy Servers

Description: Bans most (but not all) proxy servers by detecting common “FORWARD” signatures in the header.

<?PHP
 
IF(ISSET($_SERVER['HTTP_X_FORWARDED_FOR']) || ($_SERVER['HTTP_USER_AGENT']=='') || ($_SERVER['HTTP_VIA']!='')){
        DIE("Proxy servers not allowed.");
}
 
$proxy_headers = ARRAY(
     'HTTP_VIA',
     'HTTP_X_FORWARDED_FOR',
     'HTTP_FORWARDED_FOR',
     'HTTP_X_FORWARDED',
     'HTTP_FORWARDED',
     'HTTP_CLIENT_IP',
     'HTTP_FORWARDED_FOR_IP',
     'VIA',
     'X_FORWARDED_FOR',
     'FORWARDED_FOR',
     'X_FORWARDED',
     'FORWARDED',
     'CLIENT_IP',
     'FORWARDED_FOR_IP',
     'HTTP_PROXY_CONNECTION'
        );
FOREACH($proxy_headers AS $x){
     IF (ISSET($_SERVER[$x])) DIE("You are using a proxy.");
        EXIT;
}
 
?>

Enjoyed this post? Share it!

 

Leave a comment

Your email address will not be published.