¿De que manera y con que código se puede chequear el país de procedencia de un visitante a un site?

Hola
quisiera saber de que manera y con que código se puede chekear el pasís de procedencia de un visitante a un site. No me refiero a los logs, sino a tomar el dato y validarlo en PHP o ASP.
Otra pregunta:
Hay varias rutinas para poder brindar el chekeo de dominios .com . Net......etc,etc. Pero como se chekea la .com.ar.
Por lo que vi en algunos lugares, se mandan directo al servidor de nic.ar y hacen el chekeo. Es así o existe otra forma?
A esta última pregunta me gustaría también que la responda alguien de Tectimes.
Gracias por su tiempo!!!!!!!!!
1

1 Respuesta

35.075 pts.
Hi,
Mira, todas las soluciones estan hechas en base a extraer el nombre de host con la IP y luego chequear el .ar .uk .ar .es, etc.
Esto no es muy conveniente asi que segui buscando e investigando.
¿Aca te mando un script hecho por Steve Yelvington que es una funcion WHOIS? Donde le podes setear el servidor de WHOIS que quieras.
El codigo es el siguiente:
*************************
<?PHP
function getnumericaddress($domain)
{
echo "Network number information from ARIN";
echo "
";
$fp = fsockopen("whois.arin.net", 43, &$errno, &$errstr, 10);
if(!$fp)
{
echo "Could not open connection to $server on port 43.\n";
echo "$errstr ($errno)<br>\n";
}
else
{
fputs($fp,"$domain\r\n");
while(!feof($fp))
{
echo fgets($fp,128);
}
fclose($fp);
}
echo "
";
}
if ($domain)
{
// if no alpha chars, assume it is a numeric address
// and try to get results from whois.arin.net
if ( ereg( "([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})" , $domain, $regs))
{
getnumericaddress($domain);
}
else {
// first get the domain server from internic
$fp = fsockopen("rs.internic.net", 43, &$errno, &$errstr, 10);
if(!$fp)
{
echo "$errstr ($errno)<br>\n";
}
else
{
fputs($fp,"$domain\r\n");
while(!feof($fp))
{
$buf = fgets($fp,128);
if (ereg("Whois Server:", $buf))
{
$server = str_replace("Whois Server: ", "", $buf);
$server = trim($server);
}
}
fclose($fp);
}
if ($server)
{
echo "$domain is registered at $server:<BR>";
echo "
";
$fp = fsockopen($server, 43, &$errno, &$errstr, 10);
if(!$fp)
{
echo "Could not open connection to $server on port 43.\n";
echo "$errstr ($errno)<br>\n";
}
else
{
fputs($fp,"$domain\r\n");
while(!feof($fp))
{
echo fgets($fp,128);
}
fclose($fp);
}
}
else {
echo("$domain does not appear to be registered.<BR>");
}
echo ("
<BR>");
}
}
?>
<FORM ACTION="<?PHP echo($PHP_SELF); ?>" METHOD="post">
This will find .com, .org, and .net domains and most IP (netblock) assignments<br>
domain: <INPUT TYPE="text" NAME="domain" SIZE="40" MAXLENGTH="100">
<INPUT TYPE=submit VALUE="Find out"><INPUT TYPE=reset VALUE="Reset">
</FORM>
************************
Espero que te sirva y cualquier consulta que tengas no dudes en preguntarme.
Nahuelon..

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas