
19.06.2008, 15:22
|
|
Новичок
Регистрация: 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 карты, если кому надо - поищу, скину.
|
|
|