Advertisement:

Author Topic: ¿Cómo saber el nombre de Host de un Visitante/Usuario?  (Read 623 times)

Offline Príncipe_Azul

  • Full Member
  • ***
  • Posts: 410
  • Gender: Male
  • Colaborador
    • Foro ArgentinaIRC - Programación General, Informática, IRC y mIRC Scripting
¿Cómo saber el nombre de Host de un Visitante/Usuario?
« on: January 11, 2017, 01:16:44 AM »
Hola amigos!!

En PHP se puede saber el nombre del hostname de la IP de un Visitante mediante éste método:

Code: [Select]
$hostaddr = gethostbyaddr($_SERVER['REMOTE_ADDR']);
es decir, usando la función gethostbyaddr() y la variable $_SERVER['REMOTE_ADDR'], pero ¿SMF no tiene ya una variable para ésto?, es decir, si SMF tiene alguna variable que devuelva el hostname de un Visitante/Usuario.


Muchas gracias de antemano!!
Foro ArgentinaIRC - Ayuda de Programación General, Informática, IRC y mIRC Scripting.

Foro de Artesanías, Recetas de cocina, Ropa para perros, Tejidos, Bijouterie, Porcelana, Chocolatería, Fondos de pantalla, Noticias, Belleza, Medicina natural, Videos y Programas: http://www.MisArtesanias.net/

Offline d3vcho

  • Local Moderator
  • Sophist Member
  • *
  • Posts: 1,151
  • Gender: Male
    • d3vcho on GitHub
    • @SMF_ES on Twitter
Re: ¿Cómo saber el nombre de Host de un Visitante/Usuario?
« Reply #1 on: January 11, 2017, 12:08:55 PM »
¡Hola!

SMF usa la función gethostbyaddr() en Subs.php, en la línea 3767

Saludos :)
Spanish Translator | "Software and cathedrals are much the same – first we build them, then we pray" - Sam Redwine


¡Únete al canal IRC de SMF en español! #smf-es en Freenode
Sigue a @SMF_ES en Twitter para enterarte de todas las novedades de SMF

Offline Príncipe_Azul

  • Full Member
  • ***
  • Posts: 410
  • Gender: Male
  • Colaborador
    • Foro ArgentinaIRC - Programación General, Informática, IRC y mIRC Scripting
Re: ¿Cómo saber el nombre de Host de un Visitante/Usuario?
« Reply #2 on: January 12, 2017, 01:23:24 AM »
Hola, gracias por tu ayuda, pero existe una variable que devuelva el Hostname?, porque en SMF hay muchas variables que tienen muchos valores distintos, por eso tengo la duda, ¿cuál es la variable que muestra el hostname del visitante/usuario?

Aunque me parece que lo mejor es que uno use su propia variable/forma:

Code: [Select]
$hostaddr = gethostbyaddr($_SERVER['REMOTE_ADDR']);

Saludos!!
Foro ArgentinaIRC - Ayuda de Programación General, Informática, IRC y mIRC Scripting.

Foro de Artesanías, Recetas de cocina, Ropa para perros, Tejidos, Bijouterie, Porcelana, Chocolatería, Fondos de pantalla, Noticias, Belleza, Medicina natural, Videos y Programas: http://www.MisArtesanias.net/

Offline #jsDotx3

  • Full Member
  • ***
  • Posts: 532
  • Gender: Male
  • Think Different
    • jsDotx3 on GitHub
    • @jsDotx3 on Twitter
    • K! Mundo
Re: ¿Cómo saber el nombre de Host de un Visitante/Usuario?
« Reply #3 on: January 12, 2017, 10:39:23 AM »
Hola, gracias por tu ayuda, pero existe una variable que devuelva el Hostname?, porque en SMF hay muchas variables que tienen muchos valores distintos, por eso tengo la duda, ¿cuál es la variable que muestra el hostname del visitante/usuario?

Aunque me parece que lo mejor es que uno use su propia variable/forma:

Code: [Select]
$hostaddr = gethostbyaddr($_SERVER['REMOTE_ADDR']);

Saludos!!
Tiene una forma de hacerlo, está demostrado en el Profile-View.php.

Code: [Select]
if (preg_match('/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/', $memberContext[$memID]['ip']) == 1 && empty($modSettings['disableHostnameLookup']))
$context['member']['hostname'] = host_from_ip($memberContext[$memID]['ip']);

Básicamente, la función host_from_ip(); que recibe como argumento, la ip de un usuario identificado por su id, te va a devolver eso. Dicha función se encuentra en el Subs.php, función exacta function host_from_ip($ip).

Saludos.

Solved
(Life would be easy with a simple solution.)

Offline Príncipe_Azul

  • Full Member
  • ***
  • Posts: 410
  • Gender: Male
  • Colaborador
    • Foro ArgentinaIRC - Programación General, Informática, IRC y mIRC Scripting
Re: ¿Cómo saber el nombre de Host de un Visitante/Usuario?
« Reply #4 on: January 15, 2017, 04:34:37 AM »
Hola amigo José, muchas gracias por tu ayuda, tengo 1 pregunta:

¿No es mejor usar directamente la función gethostbyaddr()?, ya que puede que esa función host_from_ip() realice más tareas que las que deseo, es decir que en vez de resolver el hostname, también haga otras cosas en dicha función.
La acabo de probar y funciona perfectamente tanto con Visitantes como con Usuarios :D

Saludos y gracias!!
Foro ArgentinaIRC - Ayuda de Programación General, Informática, IRC y mIRC Scripting.

Foro de Artesanías, Recetas de cocina, Ropa para perros, Tejidos, Bijouterie, Porcelana, Chocolatería, Fondos de pantalla, Noticias, Belleza, Medicina natural, Videos y Programas: http://www.MisArtesanias.net/

Online Rock Lee

  • Sophist Member
  • *****
  • Posts: 1,014
  • Gender: Male
  • Digitalizando un nuevo mundo :D
    • BomberCode.Oficial on Facebook
    • RockLee-BC on GitHub
    • @Bomber_Code on Twitter
    • Bomber Code ~ La nueva era del conocimiento
Re: ¿Cómo saber el nombre de Host de un Visitante/Usuario?
« Reply #5 on: January 16, 2017, 04:51:05 PM »
Por simple curiosidad ¿con que fin seria neceario saber el host name? Si usando algun proxy o vpn se puede ocultar el nuestro verdadero.


Saludos!

Offline Príncipe_Azul

  • Full Member
  • ***
  • Posts: 410
  • Gender: Male
  • Colaborador
    • Foro ArgentinaIRC - Programación General, Informática, IRC y mIRC Scripting
Re: ¿Cómo saber el nombre de Host de un Visitante/Usuario?
« Reply #6 on: January 17, 2017, 04:56:18 AM »
Hola amigo, tengo instalado el mod ProxyBlocker y lo estoy probando, ese mod saca el hostname de las IPs usando la forma general, por eso quería saber como hacerlo mediante SMF.


Saludos!!
Foro ArgentinaIRC - Ayuda de Programación General, Informática, IRC y mIRC Scripting.

Foro de Artesanías, Recetas de cocina, Ropa para perros, Tejidos, Bijouterie, Porcelana, Chocolatería, Fondos de pantalla, Noticias, Belleza, Medicina natural, Videos y Programas: http://www.MisArtesanias.net/

Offline KENT10000

  • Jr. Member
  • **
  • Posts: 124
Re: ¿Cómo saber el nombre de Host de un Visitante/Usuario?
« Reply #7 on: January 17, 2017, 04:06:43 PM »
Cuando te refieres a hostname, quieres decir saber la IP Publica, y demas datos, de los usuarios que ingresan a tu foro ?

Offline Príncipe_Azul

  • Full Member
  • ***
  • Posts: 410
  • Gender: Male
  • Colaborador
    • Foro ArgentinaIRC - Programación General, Informática, IRC y mIRC Scripting
Re: ¿Cómo saber el nombre de Host de un Visitante/Usuario?
« Reply #8 on: January 17, 2017, 10:14:45 PM »
Cuando te refieres a hostname, quieres decir saber la IP Publica, y demas datos, de los usuarios que ingresan a tu foro ?

El mod ProxyBlocker es el que necesita el hostname, pero como dije, utiliza la función por defecto de PHP que puse en primer mensaje, por eso pregunté si SMF ya hace ésto para evitar volver a resolver un hostname.
Me refiero a la IP del usuario, cláro, pero en vez de su IP, su hotname, el nombre del host, ejemplo:

IP Numérica: 190.31.133.211
Hostname: host211.190-31-133.telecom.net.ar

Cabe aclarar que no a todas las IPs es posible resolverle el hostname.
Estoy probando ProxyBlocker y es bastante efectivo, pero ya he visto hasta ahora 2 falsos positivos, sin contar que también bloqueaba a Yahoo! y tuve que hacer una excepción.


Saludos!!
Foro ArgentinaIRC - Ayuda de Programación General, Informática, IRC y mIRC Scripting.

Foro de Artesanías, Recetas de cocina, Ropa para perros, Tejidos, Bijouterie, Porcelana, Chocolatería, Fondos de pantalla, Noticias, Belleza, Medicina natural, Videos y Programas: http://www.MisArtesanias.net/

Offline KENT10000

  • Jr. Member
  • **
  • Posts: 124
Re: ¿Cómo saber el nombre de Host de un Visitante/Usuario?
« Reply #9 on: January 17, 2017, 10:48:59 PM »
Gracias por la aclaracion.

Un Saludo.