2010-02-18 3 views
2

Je veux connaître l'emplacement des personnes qui se connectent à mon site Web et je pense qu'il s'appelle Whois. Alors, comment pourrais-je localiser les gens en PHP?Comment Whois en PHP?

Répondre

3

Obtenez leur adresse IP en utilisant:

$_SERVER['REMOTE_ADDR'] 

et obtenir une base de données gratuite pour convertir ip à l'emplacement :)

Here is one resource.

, vous trouverez également une foule de scripts gratuits sur Là.

1

Vous voulez considérer les utilisateurs derrière les proxies, comme $_SERVER['REMOTE_ADDR'] peut retourner la mauvaise adresse IP dans ce contexte. Vérifiez $_SERVER['HTTP_X_FORWARDED_FOR'] d'abord pour se prémunir contre cela.

function getIpAddress() { 
    if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) { 
    return $_SERVER['HTTP_X_FORWARDED_FOR']; 
    } 
    return $_SERVER['REMOTE_ADDR']; 
} 
+0

Merci pour cela aussi je besoin de ce +1 pour s'impliquer intensly – H4cKL0rD

1

Vous n'avez pas besoin de faire whois. vous devez saisir leur adresse IP et la mapper à un emplacement. Voici comment vous obtenez l'adresse IP

$_SERVER['REMOTE_ADDR'] 

Google fournit une adresse IP gratuite pour les services de localisation. chaque fois que vous utilisez le script google jsapi google remplit automatiquement le google.loader.ClientLocation qui a tous les détails juteux dont vous avez besoin.

0

Parfois shell_exec est la solution la plus élégante. Utilisez à vos risques et périls bien sûr.

<?php 

$domain = "stackoverflow.com"; 

echo shell_exec("host -t a $domain"); 
echo shell_exec("host -t mx $domain"); 
echo shell_exec("host -t ns $domain"); 
echo shell_exec("host -t txt $domain"); 
echo shell_exec("host -t cname $domain"); 
echo shell_exec("host -t soa $domain");