¿Cómo podemos rastrear la dirección IP real detrás del proxy utilizando PHP? Quiero decir una implementación pura de PHP. Porque pueden apagar los js de sus navegadores. Cuando el JS es enciéndeme, puedo usar la geolocalización HTML 5, así que no necesito la dirección IP para localizar al usuario.Cómo rastrear la dirección IP real detrás del proxy
Respuesta
El usuario que está detrás de un proxy no tiene una dirección IP enrutable globalmente. Si desea mantener el estado de la sesión, es mejor tener una clave de sesión que genere y configurarla como una cookie, o mantenerla en la URL (existen ventajas y desventajas con ese enfoque).
Si realmente desea saber cuál es su dirección IP en su propia red, probablemente pueda usar javascript en la página para encontrarla y luego enviarla de vuelta a su servidor.
Puede ver el encabezado HTTP X-Forwarded-For si se envía uno, pero no hay forma garantizada de saberlo.
Este código PHP funcionará, y es útil para proxies directo e inverso. Para los proxies inversos, tenga en cuenta que la información del encabezado X_FORWARDED_FOR, si está disponible, se puede falsificar y no se debe confiar en absoluto.
if($_SERVER["HTTP_X_FORWARDED_FOR"] != ""){
$IP = $_SERVER["HTTP_X_FORWARDED_FOR"];
$proxy = $_SERVER["REMOTE_ADDR"];
$host = @gethostbyaddr($_SERVER["HTTP_X_FORWARDED_FOR"]);
}else{
$IP = $_SERVER["REMOTE_ADDR"];
$proxy = "No proxy detected";
$host = @gethostbyaddr($_SERVER["REMOTE_ADDR"]);
}
Por favor, me gustaría saber por qué he votado negativamente. Gracias. – Cogicero
es por el nombre de la variable. $ IP debería llamarse '$ an_HTTP_header_that_may_looks_like_an_IP_address_possibly_faked' –
Lol eres gracioso, Coronel :) Ya expuse la advertencia en mi explicación. De cualquier manera, sigue siendo el IP recibido por cierto: forjado o no! Aunque me encanta tu sentido del humor. – Cogicero
- 1. Cómo obtener la dirección IP del visitante (también si detrás de un proxy)
- 2. Recuperando la dirección IP del Proxy Mac OS X
- 3. localhost vs dirección IP real
- 4. InetAddress.getByName falla detrás del proxy
- 5. WCF Servicio web detrás del proxy inverso público
- 6. Emacs detrás del proxy HTTP
- 7. ¿Cómo obtener la dirección IP del servidor?
- 8. ¿Cómo usar PEAR detrás del proxy?
- 9. rastrear una dirección IP y un puerto en particular
- 10. ¿Cómo obtener la IP real de un cliente en un servidor de pirámide detrás de un proxy Nginx
- 11. Obtener la dirección IP del cliente en JSP
- 12. Obtener la dirección IP del usuario
- 13. Búsqueda de la dirección IP del usuario
- 14. ¿Cómo obtener la dirección IP?
- 15. ¿Cómo compararías la dirección IP?
- 16. Rieles: obtenga la dirección IP del cliente
- 17. ¿Obtiene la dirección IP real del cliente con Rails y Nginx?
- 18. No se puede obtener la dirección IP del usuario (proxy/firewall/equilibrador de carga)
- 19. Búsqueda de la dirección IP del cliente conectado a través de un proxy
- 20. Cómo rastrear la infracción de acceso "en la dirección 00000000"
- 21. ¿Cómo pasar la IP remota a un servicio proxy? - Nginx
- 22. Cómo registrar la dirección IP en JBoss
- 23. ¿Cómo identificar la dirección IP del cliente solicitante?
- 24. ¿Cómo obtener la dirección IP del usuario usando .net?
- 25. ¿Cómo obtener la dirección IP del servidor en ASP.NET?
- 26. Cómo obtener la dirección IP del cliente usando jQuery
- 27. WICKET: cómo obtener la dirección/ip del cliente
- 28. ¿Cómo obtener la dirección IP del cliente de escritorio remoto?
- 29. ¿Cómo obtengo la dirección IP local del servidor usando PHP?
- 30. ¿Cómo encontrar la dirección IP del dispositivo activo AirPlay?
Y para que quede absolutamente claro: ** Esta cabecera no se puede confiar ** ** menos que TODAS las solicitudes ** pasan por un proxy ** ** USTED control y no hay petición puede comunicarse con su servidor directamente sin que ninguno va a través del proxy o ese encabezado siendo eliminado de alguna manera. Hay tantas aplicaciones PHP que simplemente usan la dirección IP de ese encabezado incondicionalmente si está disponible ... – ThiefMaster