//---------------------------------------------------------------- //IsProxy FUNCTION //---------------------------------------------------------------- // What it does - // Checks against public lists of blacklisted // proxy addresses to make sure that $IP isn't one of // them. // // Changes - // [2006/12/07] - RaX :: Created. //---------------------------------------------------------------- function IsProxy($IP) { $Result = FALSE;//Innocent until proven Guilty $BlackList = array( 'http.dnsbl.sorbs.net', 'misc.dnsbl.sorbs.net', 'socks.dnsbl.sorbs.net', 'proxies.blackholes.easynet.nl', 'list.dsbl.org' ); if (preg_match("/([0-9]+).([0-9]+).([0-9]+).([0-9]+)/", $IP, $Matches)) { foreach ($BlackList as $Server) { echo $Server; $ServerHost = $Matches[4] . "." . $Matches[3] . "." . $Matches[2] . "." . $Matches[1] . "." . $Server; $Resolved = gethostbyname($ServerHost); if ($Resolved != $ServerHost) { $Result = TRUE;//GUILTY! break; } } } return $Result; } //-----------------------------------------------------------------