Nasıl PHP ile ziyaretçinin ISS almak mı?

9 Cevap php

Nasıl bir PHP sayfasını görüntülerken bir kişinin İSS öğrenebilirim?

Onu izlemek veya ortaya çıkarmak için PHP kullanmak mümkün mü?

Ben aşağıdaki gibi bir şey kullanırsanız:

gethostbyaddr($_SERVER['REMOTE_ADDR']);

Benim IP adresi, benim ana bilgisayar adı veya ISS döndürür.

9 Cevap

Aşağıdaki PHP codings tüm bu şeyler alabilirsiniz.,

<?php

$ip=$_SERVER['REMOTE_ADDR'];

$url=file_get_contents("http://whatismyipaddress.com/ip/$ip");

preg_match_all('/<th>(.*?)<\/th><td>(.*?)<\/td>/s',$url,$output,PREG_SET_ORDER);

$isp=$output[1][2];

$city=$output[9][2];

$state=$output[8][2];

$zipcode=$output[12][2];

$country=$output[7][2];

?>
<body>
<table align="center">
<tr><td>ISP :</td><td><?php echo $isp;?></td></tr>
<tr><td>City :</td><td><?php echo $city;?></td></tr>
<tr><td>State :</td><td><?php echo $state;?></td></tr>
<tr><td>Zipcode :</td><td><?php echo $zipcode;?></td></tr>
<tr><td>Country :</td><td><?php echo $country;?></td></tr>
</table>
</body>

Bu aradığınız ne gibi görünüyor, mümkünse tam hostname dönmek için çalışacaktır:

http://us3.php.net/gethostbyaddr

Orada ISP, bir kullanıcı geliyor, hangi göstermek için HTTP başlıklarını bir şey değildir, bu yüzden cevap hayır, bu anlatacağım hayır PHP yerleşik işlevi yoktur. Sen ağlar / ISS'ler için IP'ler eşler hizmet veya kitaplık çeşit kullanmak zorunda.

Bazen alanları değiştirmek, yani bu yukarıdaki yazının gelişmedir.

<body> 
    <table align="center">

<?
 $ip=$_SERVER['REMOTE_ADDR'];
 $url=file_get_contents("http://whatismyipaddress.com/ip/$ip");
 preg_match_all('/<th>(.*?)<\/th><td>(.*?)<\/td>/s',$url,$output,PREG_SET_ORDER);
 for ($q=0; $q < 25; $q++) {
    if ($output[$q][1]) {
        if (!stripos($output[$q][2],"Blacklist")) {
            echo "<tr><td>".$output[$q][1]."</td><td>".$output[$q][2]."</td></tr>";

        }
    }
}
?> 
    </table>
</body> 

Ben IP arama ve servis sağlayıcı bulmak için bazı üçüncü taraf hizmeti (Muhtemelen bir web servisi) kullanmak gerekir düşünüyorum.

http://whatismyip.com gitmek

Bu sizin internet adresi verecektir. http://arin.net/whois de veritabanına o adresi takın

GeolP bu konuda size yardımcı olacaktır: http://www.maxmind.com/app/locate_my_ip

Geoip verilerine erişmek için bir php kütüphanesi vardır: http://www.maxmind.com/app/php

Dikkat olsa, o iş yapmak için makinenizde geoip db koymak gerekir, tüm talimatları vardır :)

Bu site veya ip bir ISS bulmak için uygun bir yoldur.

<?php
$isp = geoip_isp_by_name('www.example.com');
if ($isp) {
    echo 'This host IP is from ISP: ' . $isp;
}
?>

: Eğer ağ kuruluş döndürür bunun için http://ipinfo.io API kullanabilirsiniz

function get_asn($ip) {
    $details = json_decode(file_get_contents("http://ipinfo.io/{$ip}"));
    return $details->org;
}

echo get_asn('8.8.8.8'); # => AS15169 Google Inc.
echo get_asn('67.188.232.131'); # => AS7922 Comcast Cable Communications, Inc.

Eğer siz de olsa ilginizi çekebilir ipinfo.io diğer ayrıntılar bir bütün yükü var olacak. http://ipinfo.io/developers daha fazla bilgi için bkz.