Показать сообщение отдельно

  #377  
Старый 19.06.2008, 15:22
Fluxoid
Новичок
Регистрация: 12.06.2008
Сообщений: 8
Провел на форуме:
119585

Репутация: 12
По умолчанию

очень простой Proxy Judge (судья, типа) начинающему
PHP код:
<?php
echo "<b>ProxyJudge V1.0.0</b><br>";
echo 
"<pre>\n";
echo 
"HTTP_ACCEPT = ".$_SERVER['HTTP_ACCEPT']."\n";
echo 
"HTTP_ACCEPT_CHARSET = ".$_SERVER['HTTP_ACCEPT_CHARSET']."\n";
echo 
"HTTP_ACCEPT_LANGUAGE = ".$_SERVER['HTTP_ACCEPT_LANGUAGE']."\n";
echo 
"HTTP_CONNECTION = ".$_SERVER['HTTP_CONNECTION']."\n";
echo 
"HTTP_HOST = ".$_SERVER['HTTP_HOST']."\n";
echo 
"HTTP_USER_AGENT = ".$_SERVER['HTTP_USER_AGENT']."\n";
if(isset(
$_SERVER['HTTP_X_FORWARDED_FOR'])){
    echo 
"HTTP_X_FORWARDED_FOR = ".$_SERVER['HTTP_X_FORWARDED_FOR']."\n";
}
if(isset(
$_SERVER['HTTP_VIA'])){
    echo 
"HTTP_VIA = ".$_SERVER['HTTP_VIA']."\n";
}
echo 
"REMOTE_ADDR = ".$_SERVER['REMOTE_ADDR']."\n";
echo 
"REMOTE_PORT = ".$_SERVER['REMOTE_PORT']."\n";
echo 
"REQUEST_METHOD = ".$_SERVER['REQUEST_METHOD']."\n";
echo 
"REQUEST_URI = ".$_SERVER['REQUEST_URI']."\n";
echo 
"\n</pre>";
?>
геолокейшн на perl (может кому пригодится,
сам использую для различного таргетинга, лукапа прокси и пр., скрин работы - http://caco-daemon.ueuo.com/a.html)
перл-модуль лежит здесь:
http://ppm4.activestate.com/MSWin32-...P2Location.ppd
база-данных здесь:
http://www.ip2location.com/developers.aspx
ограничение бесплатной базы:
IP от 0.0.0.0 до 99.255.255.255
PHP код:
use bytes;
use 
Net::hostent;
use 
Geo::IP2Location;

sub get_geoloc(){
    
my $host="";
    if(
defined($_[0])){
        
$host=$_[0];
    }else{
        return 
0;
    }    
    
my $ip=0;    
    if(
$host !~ /^(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])$/i){
        print 
"resolving $host: ";
        
unless($h=gethost($host)){
            
warn "no such host: $host\n";
            return 
0;
        }
        
$ip=inet_ntoa($h->addr);
        print 
"$ip\n";
    }else{
        
$ip=$host;
    }    
#    путь к базе данных
#    сменить, естественно
    
my $geodb="c:\\strawberry\\perl\\site\\lib\\auto\\Geo\\IP2Location\\IP-COUNTRY-REGION-CITY-LATITUDE-LONGITUDE-ZIPCODE-TIMEZONE-ISP-DOMAIN-NETSPEED-SAMPLE.BIN";
    
my $obj=Geo::IP2Location->open($geodb) or print "geolocation disabled\n";
    
unless($obj != 0){ return 0; }
    
my @info=$obj->get_all("$ip"); my $n=0;
    print 
"*--------------------*\n";
    foreach 
$dt (@info){
        if(
$dt =~ "INVALID"){
            print 
"got wrong IPv4 address\n";
            return 
0;
        }
        if(
$dt eq "??"){
            print 
"no information about $ip\nfree database limitations :(\n";
            return 
0;
        }
        if(
$dt !~ "unavailable" and $n ne 0 and length($dt) > 0){
#    печатаем всё, кроме шорт-кода страны
            
print "$dt";
        }
        
$n++;
    }
    print 
"\n";
    print 
"*--------------------*\n";
    return @
info;

если видел кто полную версию геоип базы (от ip2location) по торрентам/рапидам - сообщите
писал как-то геолок на php (maxmind) + автоген google карты, если кому надо - поищу, скину.
 
Ответить с цитированием