Foros del Web » Programando para Internet » PHP »

Saber de dónde es una IP

Estas en el tema de Saber de dónde es una IP en el foro de PHP en Foros del Web. ¿Cómo puedo saber de dónde es una IP mediante código PHP? Muchas gracias...
  #1 (permalink)  
Antiguo 18/04/2006, 08:39
 
Fecha de Ingreso: abril-2006
Mensajes: 7
Antigüedad: 11 años, 8 meses
Puntos: 0
Saber de dónde es una IP

¿Cómo puedo saber de dónde es una IP mediante código PHP?

Muchas gracias
  #2 (permalink)  
Antiguo 18/04/2006, 09:16
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Revia el foro sobre GeoIP .. o IPtocountry .. veras ejemplos y comentarios al respecto.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 18/04/2006, 09:29
 
Fecha de Ingreso: abril-2006
Mensajes: 15
Antigüedad: 11 años, 8 meses
Puntos: 0
Encontré esto, puede que te sirva

Cita:
Muchas veces en el desarrollo de un sitio web nos podemos enfrentar a la posibilidad de tener que saber de que país es el usuario que nos esta visitando, tanto para enviarlo a contenidos en su idioma como también para mostrarles publicidad especifica de su región, validar datos, analizar los web logs, etc.

Por suerte un programador (Per Soderlind) se encargo de desarrollar un script ASP muy fácil de usar el cual nos permite mediante la IP del usuario averiguar su país.Vean un ejemplo.

Su forma de uso es muy fácil, solamente debemos mediante un include llamar a un método dentro del script, veamos el ejemplo...

<%
Option Explicit
%>
<!--#include file="GeoIP.asp"-->
<%
Dim oGeoIP,strErrMsg
Dim strIP,strCountryName,strCountryCode

Set oGeoIP = New CountryLookup
oGeoIP.GeoIPDataBase = Server.MapPath("GeoIP.dat")
If oGeoIP.ErrNum(strErrMsg) <> 0 Then
Response.Write(strErrMsg)
Else
strIP = request.ServerVariables("REMOTE_ADDR")
strCountryName = oGeoIP.lookupCountryName(strIP)
strCountryCode = oGeoIP.lookupCountryCode(strIP)
End If
Set oGeoIP = Nothing
%>

Analicemos un poco el código, lo primero que debemos hacer es incluir el mencionado script para ello utilizamos la directiva "include" que apunta al archivo GeoIP.asp (Debajo se puede descargar) este archivo es el que contiene todo el código ASP para detectar el país del usuario.

Luego definimos las variables a utilizar y creamos el objeto el cual nos expondrá todos los métodos y propiedades del script GeoIP "Set oGeoIP = New CountryLookup". Por ultimo lo que debemos hacer es indicarle donde se encuentra la base de datos de GeoIP llamada "GeoIP.dat" (Debajo se puede descargar), esta base de datos contiene los códigos de países (AR, ES, MX, CL, ETC) relacionados con los nombres de los países (Argentina, España, Etc.)

Es importante tener actualizado el archivo GeoIP.dat ya que las relaciones IP / Pais sufren cambios a medida que pasa el tiempo, pueden descargar el archivo actualizado desde el enlace titulado Download the latest GeoLite Country Binary Format, este archivo se actualiza cada mes y su uso es gratuito.

Una ves definida esa propiedad podemos utilizar los métodos..

* lookupCountryName(ip) - Pasándole como parámetro la ip devuelve el nombre del país.
* lookupCountryCode(ip) - Pasándole como parámetro la ip devuelve el codigo del país.

Recordemos que para obtener la ip del usuario utilizamos..

strIP = request.ServerVariables("REMOTE_ADDR")

Bien, ahora siguiendo con el ejemplo anterior para mostrar los datos lo único que debemos hacer es un Response.Write con los datos obtenidos..

<%
Response.Write strCountryName
Response.Write strCountryCode
%>
  #4 (permalink)  
Antiguo 18/04/2006, 09:39
 
Fecha de Ingreso: abril-2006
Mensajes: 7
Antigüedad: 11 años, 8 meses
Puntos: 0
Cita:
Iniciado por Cluster
Revia el foro sobre GeoIP .. o IPtocountry .. veras ejemplos y comentarios al respecto.

Un saludo,
No sé como se busca en este foro

Cita:
Iniciado por Klop
Encontré esto, puede que te sirva
,
¿Dónde está el archivo que viene?
Si puedes pásame esa URl y ya lo miro yo, ese código es de ASP, pero si funciona lo paso a PHP en un momento jeje.

Muchas gracias
  #5 (permalink)  
Antiguo 18/04/2006, 09:46
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
errioxa

SI te fijas a la derecha arriba tienes el botón "buscar" .. ahí llegaras a un enorme buscador con multitud de opciones... intenta usarlo (veras que útil es).

También con estas palabras claves que por mi parte te he dado ya tienes el pié para usar Google:

geoip php class

De eso salen links como este:
http://www.maxmind.com/app/php

Si te fijas .. hay várias BBDD que detallan IP's llegando a Ciudades o sólo paises .. o algo más detallado .. algunas gratuitas y otras de pago (cuanto más detalle: más $$).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #6 (permalink)  
Antiguo 18/04/2006, 09:47
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 12 años, 9 meses
Puntos: 33
geoip = http://www.maxmind.com/app/ip_location
  #7 (permalink)  
Antiguo 18/04/2006, 10:15
 
Fecha de Ingreso: abril-2006
Mensajes: 7
Antigüedad: 11 años, 8 meses
Puntos: 0
Cita:
Iniciado por Cluster
errioxa

SI te fijas a la derecha arriba tienes el botón "buscar" .. ahí llegaras a un enorme buscador con multitud de opciones... intenta usarlo (veras que útil es).
Pues en mi navegador IE no sale ese botón ¡¡¡
de verdad
Gracias por las respuestas

PD: ahh cuando estoy registrado
  #8 (permalink)  
Antiguo 18/04/2006, 10:22
Avatar de adex  
Fecha de Ingreso: marzo-2002
Ubicación: Lima, Perú, América Latina
Mensajes: 445
Antigüedad: 15 años, 9 meses
Puntos: 0
aver si te sirve el enlace para buscar dentro del Foro

http://www.forosdelweb.com/search.php

Saludos!
  #9 (permalink)  
Antiguo 18/04/2006, 13:30
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Iniciado por errioxa
Pues en mi navegador IE no sale ese botón ¡¡¡
de verdad
Gracias por las respuestas

PD: ahh cuando estoy registrado
Entiendo que si publicas mensajes en el foro estás registrado y por ende ahí disfrutas de todo lo que a un usuario registrado se ofrece a cambio de la "lata" (o tedioso) de tener que registrarse en un sitio (como este por ejemplo).

Efectivamente el "buscador" sólo está disponible cuando estás registrado .. al igual que otras ventajas como no ver publicidad (o eso es sólo para moderadores .. ahora no recuerdo) y cosas así ...

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #10 (permalink)  
Antiguo 19/04/2006, 12:14
 
Fecha de Ingreso: octubre-2004
Mensajes: 877
Antigüedad: 13 años, 2 meses
Puntos: 2
Para saber de que pais es el usuario necesitas tener alguna base de datos o script donde puedas consultar ese numero a que pais pertenece.
Si no te es vital la exactitud, hay codigos gratuitos que podes encontrar en Google. Si necesitas algo muy preciso, vas a necesitar buscar algo mas eficiente.
  #11 (permalink)  
Antiguo 01/05/2006, 11:17
Avatar de pampa_  
Fecha de Ingreso: mayo-2006
Mensajes: 334
Antigüedad: 11 años, 7 meses
Puntos: 1
bueno, como podrias saber el pais de una direccion ip, sin usar php
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:45.