PHP - direccion ip

 
Vista:

direccion ip

Publicado por siss (29 intervenciones) el 13/11/2003 18:51:43
Hola!!!

hay alguna manera de hallar la direccion ip o el nombre del host del equipo que se conecte a mis sitio web en php?? ... mi servidor es linux..y mis clientes son windows ...

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:direccion ip

Publicado por Mariano Pelizzari (125 intervenciones) el 13/11/2003 20:33:00
$_SERVER["REMOTE_ADDR"]

para mas sobre variables predefinidas visita test.deskware.com.ar o la pagina de php sobre este tema.

Cualqueir cosa estoy en msn messenger .Slds.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:direccion ip

Publicado por sisi (29 intervenciones) el 14/11/2003 21:52:48
Mariano una preguntica ....

esto debe funcionar sin importar la plataforma en la que este trabajando .... es decir ..tengo mi servidor linux ... si ingreso desde un cliente linux ... la variable $REMOTE_ADDR, me arroja la ip del cliente ... que es lo que necesito ... pero si ingreso a mi pagina php desde un cliente windows ... la variable $_REMOTE_ADDR, me arroja la ip de mi servidor... no del cliente .... que estoy haciendo mal?? .. necesito activar algo??? ....
Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

No tengo ni idea que puede ser...

Publicado por Mariano Pelizzari (125 intervenciones) el 14/11/2003 22:43:31
Aunque tal vez pueda ser que tenes un servidro proxy. Pero mas que eso no se me ocurre nada.

Slds.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:No tengo ni idea que puede ser...

Publicado por sisi (29 intervenciones) el 18/11/2003 15:11:46
......

o sea que me tocaria pasar todos mis clientes a linux ??? .... es la unica manerda de que funcione el REMOTE_ADDR ....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:No tengo ni idea que puede ser...

Publicado por sisi (29 intervenciones) el 18/11/2003 21:41:05
No nada ....
he intentado con $REMOTE_ADDR, $_SEREVER['REMOTE_ADDR'], HTTP_SEREVER ....... con todo .... y nada ...... no se que hacer .......
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:No tengo ni idea que puede ser...

Publicado por Mariano Pelizzari (125 intervenciones) el 18/11/2003 23:05:02
Tu problema no es con php. Es la configuracion de la red.

Slds.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:print_r($_SERVER);

Publicado por sisi (29 intervenciones) el 19/11/2003 16:44:15
En mi servidor linux ----
Array
(
[UNIQUE_ID] => Ct1NM8AAAX0AAEHyAxQAAAAA
[HTTP_CONNECTION] => Keep-Alive
[HTTP_USER_AGENT] => Mozilla/5.0 (compatible; Konqueror/3.1; Linux)
[HTTP_ACCEPT] => text/*, image/jpeg, image/png, image/*, */*
[HTTP_ACCEPT_ENCODING] => x-gzip, x-deflate, gzip, deflate, identity
[HTTP_ACCEPT_CHARSET] => iso-8859-15, utf-8;q=0.5, *;q=0.5
[HTTP_ACCEPT_LANGUAGE] => es, en
[HTTP_HOST] => MiHost
[HTTP_COOKIE] => PHPSESSID=2b18dce8734c0e70d0febde197deb7cd
[PATH] => /sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin
[SERVER_SIGNATURE] => Apache/2.0.40 Server at www.aaconsultores.com Port 80

[SERVER_SOFTWARE] => Apache/2.0.40 (Red Hat Linux)
[SERVER_NAME] => MiHost
[SERVER_ADDR] => Direccion del servidor
[SERVER_PORT] => 80
[REMOTE_HOST] => MiHost
[REMOTE_ADDR] => Direccion del servidor
[DOCUMENT_ROOT] => /var/www/html
[SERVER_ADMIN] => root@localhost
[SCRIPT_FILENAME] => /var/www/html/prueba.php
[REMOTE_PORT] => 47538
[GATEWAY_INTERFACE] => CGI/1.1
[SERVER_PROTOCOL] => HTTP/1.1
[REQUEST_METHOD] => GET
[QUERY_STRING] =>
[REQUEST_URI] => /prueba.php
[SCRIPT_NAME] => /prueba.php
[PHP_SELF] => /prueba.php
[argv] => Array
(
)

[argc] => 0
)

en mi cliente windows .... que tambien tiene php, apache y mysql ....

Array
(
[UNIQUE_ID] => DCCp88AAAX0AAELZEEkAAAAJ
[HTTP_ACCEPT] => image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/msword, application/vnd.ms-powerpoint, */*
[HTTP_ACCEPT_LANGUAGE] => es-mx
[HTTP_ACCEPT_ENCODING] => gzip, deflate
[HTTP_USER_AGENT] => Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt)
[HTTP_COOKIE] => PHPSESSID=573deb8a4ef61281b4781d21022bdd0b
[HTTP_VIA] => 1.0 Host del servidor linux:3128 (squid/2.5.STABLE1)
[HTTP_X_FORWARDED_FOR] => AQUI APARECE LA DIRECCION DE MI CLIENTE .... LA QUE NECESITO
[HTTP_HOST] => Host de servidor linux
[HTTP_CACHE_CONTROL] => max-age=259200
[HTTP_CONNECTION] => keep-alive
[PATH] => /sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin
[SERVER_SIGNATURE] =>
Apache/2.0.40 Server at Host del servidor linux Port 80


[SERVER_SOFTWARE] => Apache/2.0.40 (Red Hat Linux)
[SERVER_NAME] => Host del servidor linux
[SERVER_ADDR] => IP de mi servidor linux
[SERVER_PORT] => 80
[REMOTE_HOST] => Host del servidor linux
[REMOTE_ADDR] => ip servidor linux
[DOCUMENT_ROOT] => /var/www/html
[SERVER_ADMIN] => root@localhost
[SCRIPT_FILENAME] => /var/www/html/prueba.php
[REMOTE_PORT] => 47560
[GATEWAY_INTERFACE] => CGI/1.1
[SERVER_PROTOCOL] => HTTP/1.0
[REQUEST_METHOD] => GET
[QUERY_STRING] =>
[REQUEST_URI] => /prueba.php
[SCRIPT_NAME] => /prueba.php
[PHP_SELF] => /prueba.php
[argv] => Array
(
)

[argc] => 0
)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:podrias copiar los datos reales?

Publicado por sisi (29 intervenciones) el 20/11/2003 15:01:07
Tengo un servidor linux, un cliente linux, y otro cliente windows
//-----------------------------
En mi servidor linux ----

Array
(
[UNIQUE_ID] => Ct1NM8AAAX0AAEHyAxQAAAAA
[HTTP_CONNECTION] => Keep-Alive
[HTTP_USER_AGENT] => Mozilla/5.0 (compatible; Konqueror/3.1; Linux)
[HTTP_ACCEPT] => text/*, image/jpeg, image/png, image/*, */*
[HTTP_ACCEPT_ENCODING] => x-gzip, x-deflate, gzip, deflate, identity
[HTTP_ACCEPT_CHARSET] => iso-8859-15, utf-8;q=0.5, *;q=0.5
[HTTP_ACCEPT_LANGUAGE] => es, en
[HTTP_HOST] => www.miempresa.com
[HTTP_COOKIE] => PHPSESSID=2b18dce8734c0e70d0febde197deb7cd
[PATH] => /sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin
[SERVER_SIGNATURE] => Apache/2.0.40 Server at www.miempresa.com Port 80

[SERVER_SOFTWARE] => Apache/2.0.40 (Red Hat Linux)
[SERVER_NAME] => www.miempresa.comt
[SERVER_ADDR] => 192.*.*.*
[SERVER_PORT] => 80
[REMOTE_HOST] => server.miempresa.com
[REMOTE_ADDR] => 192.*.*.*
[DOCUMENT_ROOT] => /var/www/html
[SERVER_ADMIN] => root@localhost
[SCRIPT_FILENAME] => /var/www/html/prueba.php
[REMOTE_PORT] => 47538
[GATEWAY_INTERFACE] => CGI/1.1
[SERVER_PROTOCOL] => HTTP/1.1
[REQUEST_METHOD] => GET
[QUERY_STRING] =>
[REQUEST_URI] => /prueba.php
[SCRIPT_NAME] => /prueba.php
[PHP_SELF] => /prueba.php
[argv] => Array
(
)

[argc] => 0
)
//-------------------------------
En mi cliente linux, todo funciona de maravilla .... pero en mi cliente windows, toma como remote_adrr y remote_host .... la direccion y el host del servidor .

En la varibale [HTTP_X_FORWARDED_FOR], si aparece la direccion ip de mi cliente windows

en mi cliente windows .... que tambien tiene php, apache y mysql ....

Array
(
[UNIQUE_ID] => DCCp88AAAX0AAELZEEkAAAAJ
[HTTP_ACCEPT] => image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/msword, application/vnd.ms-powerpoint, */*
[HTTP_ACCEPT_LANGUAGE] => es-mx
[HTTP_ACCEPT_ENCODING] => gzip, deflate
[HTTP_USER_AGENT] => Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt)
[HTTP_COOKIE] => PHPSESSID=573deb8a4ef61281b4781d21022bdd0b
[HTTP_VIA] => 1.0 192.*.*.*:3128 (squid/2.5.STABLE1)
[HTTP_X_FORWARDED_FOR] => 192.0.0.1
[HTTP_HOST] => www.empresa.com
[HTTP_CACHE_CONTROL] => max-age=259200
[HTTP_CONNECTION] => keep-alive
[PATH] => /sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin
[SERVER_SIGNATURE] =>
Apache/2.0.40 Server at www.empresa.com linux Port 80


[SERVER_SOFTWARE] => Apache/2.0.40 (Red Hat Linux)
[SERVER_NAME] => www.miempresa.com
[SERVER_ADDR] => 192.*.*.*
[SERVER_PORT] => 80
[REMOTE_HOST] => www.miempresa.com
[REMOTE_ADDR] => 192.*.*.*
[DOCUMENT_ROOT] => /var/www/html
[SERVER_ADMIN] => root@localhost
[SCRIPT_FILENAME] => /var/www/html/prueba.php
[REMOTE_PORT] => 47560
[GATEWAY_INTERFACE] => CGI/1.1
[SERVER_PROTOCOL] => HTTP/1.0
[REQUEST_METHOD] => GET
[QUERY_STRING] =>
[REQUEST_URI] => /prueba.php
[SCRIPT_NAME] => /prueba.php
[PHP_SELF] => /prueba.php
[argv] => Array
(
)

[argc] => 0
)

Me merezco el regaño ... solo tratas de ayudarme .... muchas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:podrias copiar los datos reales?

Publicado por Mariano Pelizzari (125 intervenciones) el 20/11/2003 16:39:12
Como que el cliente windows tiene apache mysql y php? Lo estas usando de pruebas? con todos los clientes windows te pasa lo mismo?

Sugenercia: Pedile a alguine de afuera de tu red que acceda a esta pafina con un cliente windows, a un pagina en donde hagas echo $_SERVER["REMOTE_ADDR"]. Si te sale la ip que tiene el, osea cualquier ip publica que no se la tuya, entonces hay algo mal en tu codigo, o el problema esta en tu red.

Espero sirva. Slds.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

pos, parece que si es la red

Publicado por sisi (29 intervenciones) el 20/11/2003 21:46:13
si, mi cliente windows tambien tiene apache y todo eso .. lo tuve que instalar por unas cosas que estoy haciendo .... le pedi a un amigo que accediera a mi pagina y en el $SERVER['REMOTE_ADDR'], si le aparece la direccion ip de el ... tons .. la vaina como que si es configuracion de mi red interna .... gracias por tu paciencia ...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

xxx dime si esto esta bien

Publicado por sisi (29 intervenciones) el 21/11/2003 16:13:25
Hola!!
En la varible server hay un campito que se llama HTTP_X_FORWARDED_FOR, aqui ... en windows me muestra la ip ... y en linux la ip me la muestra en REMOTE_ADDR ... entonces el siguiente algoritmo ..
if (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))
{
$RH = gethostbyaddr($_SERVER['HTTP_X_FORWARDED_FOR']);
$IP = $_SERVER['HTTP_X_FORWARDED_FOR'];
}
elseif (!empty($_SERVER['REMOTE_ADDR']) )
{
$RH = gethostbyaddr($_SERVER['REMOTE_ADDR']);
$IP = $_SERVER['REMOTE_ADDR'];
}

me retorna en RH ... el nombre del host que se conecta .. y en ip la ip que se conecta a mi servidor ... para mis cliente linux y windows .... y Funciona!!!!!!!!

Gracias por todo ..... solo dime si esta bien .......
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:direccion ip

Publicado por Mariano Pelizzari (125 intervenciones) el 26/11/2003 18:23:55
Esta es la solucion a tu problema

if (isset($_SERVER["HTTP_CLIENT_IP"])) {
$ip = explode(".",$_SERVER["HTTP_CLIENT_IP"]);
$ip = $ip[3] . "." . $ip[2] . "." . $ip[1] . "." . $ip[0];
} elseif (getenv('HTTP_X_FORWARDED_FOR')) {
$ip = getenv('HTTP_X_FORWARDED_FOR');
} else {
$ip = $_SERVER["REMOTE_ADDR"];
}

chao.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar