Red de conocimiento informático - Aprendizaje de código fuente - Problemas relacionados con la visualización de IP

Problemas relacionados con la visualización de IP

La imagen que muestra la IP no es en realidad una imagen, puede confirmarlo haciendo clic derecho en la imagen y seleccionando Propiedades.

Suelen tomar la forma:

http://*****.aspx?**** o

http://** ***.php?****

Si sabes algo sobre diseño web, entenderás de qué se trata de un vistazo. En otras palabras, lo que realmente vemos es una página web.

Pongamos un ejemplo:

Primero creamos una página web ip.php con el siguiente contenido:

lt;?php

Encabezado ("Tipo de contenido: imagen/PNG");

$myip=$REMOTE_ADDR;

$im = imagecreate(158, 35) = ImageColorAllocate( $im, 128, 128, 128); // Color de fondo

$rojo = ImageColorAllocate($im, 204, 204, 204); ($im, 255, 255, 255); //azul

for ($i = 0; $i lt; strlen($myip); $i) {

cadena de imagen ($im, 3, $i*10 5.0, substr($myip, $i, 1), $blue //ImageColorAllocate($im, rand(5, 255), rand(5, 255), rand(); 5, 255 ), rand(5, 255)) cambia a color aleatorio

}

imagestring($im, 3, $i*10 5.

cadena de imagen( $im, 3, 5, 10, "--------------------", $rojo

cadena de imagen($im); , 3, 20, 20, "Diseñado por Arcow", $rojo

ImagePNG($im

ImageDestroy($im); ? gt;

Luego, este archivo se cargará en un servidor que admita php. Cuando accedemos a este archivo, lo que ve es una imagen que muestra su dirección IP.

Bien, entonces, ¿cómo lo referenciamos?

Luego creamos un archivo de página web estática, por ejemplo: test.htm

El contenido es el siguiente:

lt htmlgt; lt; títulogt; lt ;/titlegt;lt;/headgt;

lt;body leftmargin=0 topmargin=0gt; 0gt;

lt;/bodygt;lt;/htmlgt;

¿Cómo obtener la IP real del usuario?

código php:

lt;?

función iptype1 () {

if (getenv("HTTP_CLIENT_IP")) {

return getenv("HTTP_CLIENT_IP");

}

else {

Devuelve "Ninguno"; }

}

función iptype2 () {

if (getenv("HTTP_X_FORWARDED_FOR")) {

return getenv("HTTP_X_ FORWARDED_FOR");

}

else {

return "ninguno";

}

}

función iptype3 () {

if (getenv("REMOTE_ADDR")) {

return getenv("REMOTE_ADDR"); }

else {

devuelve "ninguno"

}

}

función ip();

$ip1 = iptipo1 ();

$ip2 = iptipo2();

$ip3 = iptipo3(); (isset($ip1) &$ip1 ! = "ninguno" &$ip1 ! = "desconocido") {

return $ip1; /p>

elseif (isset($ip2) amp; amp; $ip2 ! = "ninguno" amp; amp; $ip2 ! = "desconocido") {

return $ip2

return $ip2;

p>

}

elseif (isset($ip3) amp; amp; $ip3 ! = "none" amp; amp ; $ip3 ! = "desconocido") {

return $ip3

}

else {

return "ninguno";

}

}

Echo ip(); gt;

Segundo método:

La dirección física Se utiliza la biblioteca de recursos IP en línea del campus de Lucian :)

Mi plataforma: WinXP apache2.1 PHP5 (compatible con GD2)

qmd.php

(Renombrado qmd.png después de completar la prueba) Código fuente:

lt;?php

función getIP()

{

global $ip;

if (getenv("HTTP_CLIENT_IP"))

$ip = getenv("HTTP_CLIENT_IP");

si no( getenv( " HTTP_X_FORWARDED_FOR"))

$ip = getenv("HTTP_X_FORWARDED_FOR");

si no(getenv("REMOTE_ADDR"))

$ip = getenv ( " REMOTE_ADDR");

else $ip = "Desconocido";

return $ip

}

función show_system(); {

$so = $_SERVER["HTTP_USER_AGENT"]

$windowsxp = preg_match("/windows nt 5.1/i", $so = p); >$windowsxp2 = preg_match("/windows xp/i", $so

$linux = preg_match("/linux/i", $so); = preg_match("/win 9x 4.90/i", $so);

$windowsme2 = preg_match("/windows me/i", $so); preg_match("/windows nt 5.0/i", $entonces);

$windows2kb = preg_match("/windows 2000/i", $entonces); ("/windows nt 3.1 /i", $entonces);

$windowsnt2 = preg_match("/windows nt 3.5.0/i", $entonces); = preg_match("/windows nt 3.5.1/i", $so);

$windowsnt4 = preg_match("/windows nt 4.0/i", $so); $windows98 = preg_match("/windows 98/i", $entonces);

$windows95 = preg_match("/windows 95/i", $entonces); $windowsxp == 1 o $windowsxp2 == 1) {

$sys = "Windows XP. Se recomienda probar Linux :)"

} else if ($linux) == 1) {

$sys = "Linux, ¡guau, increíble! ¿Qué distribución estás usando? "

} si no ($windowsme == 1 o $

windowsme2 == 1) {

$sys = "Windows ME"

} else if ($windows2k == 1 o $windows2kb == 1) {

$sys = "Windows 2000";

} else if ($windowsnt == 1 o $windowsnt2 == 1 o $windowsnt3 == 1 o $windowsnt4 == 1) {

$sys = "Windows NT";

} else if ( $windows98 == 1 y $windowsme != 1) {

$sys = "Windos 98? No Quizás...";

} else if ($windows95 == 1) {

$sys = "Windos 95...sin palabras... ...";

} else {

$sys = "¿Término BBS?"

}

}

return( $sys);

}

}

función show_browser(){

$b = $_SERVER ["HTTP_USER_AGENT"];

$ie50 = preg_match("/MSIE 5.0/i", $b);

$ie55 = preg_match("/MSIE 5.5/i", $b); p>

$ie60 = preg_match("/MSIE 6.0/i", $b)

$opera = preg_match("/opera/i", $b)

if ($ie40 == 1) {

$ navegador = "Microsoft IE4.0"

} else if ($ie50 == 1 ) {

$browser = "Microsoft IE5.0";

} else if ($ie55 == 1) {

$browser = "Microsoft IE5 .5"; p>

} else if ($ie60 == 1) {

$browser = "IE6.0 de Microsoft"

} else if ( $opera == 1) {

$browser = "Opera";

} else {

$browser = " FireFox u otros navegadores, terminología BBS ¿Alguno de estos? }

return($navegador);

}

$sistema = show_system();

$navegador = show_browser();

$nombre de archivo = "http://10.64.130.19:8717/?ip=".getIP();

$archivo = archivo($nombre de archivo

);

$contenido = unirse("

", $archivo);

$im = @imagecreatefrompng ("logo.png");

$negro = imagecolorallocate ($im, 0, 0, 0);

p>

$font = "/simsun.ttc";

ImageTTFText ($im, 12, 0, 0, 20, $negro, $font, iconv("GB2312 ", "UTF- 8", Hola, soy hahaboy.);

¿Quién eres? Déjame adivinar--));

ImageTTFText ($im, 12, 0, 0, 40, $black, $font, iconv("GB2312", "UTF-8", Su ip es. $ip)); , 60, $ black, $font, iconv("GB2312", "UTF-8", eso significa que estás en.)); 80, $negro, $fuente, iconv("GB2312", "UTF-8", $content)

ImageTTFText ($im, 12, 0, 0, 100, $negro, $fuente , iconv(" GB2312", "UTF-8", $hmmm Definitivamente vendré a tk. $black, $font, iconv("GB2312", "UTF-8", primero verifique su sistema operativo...) ) ;

ImageTTFText ($im, 12, 0, 0, 170, $black, $font, iconv(" GB2312", "UTF-8", Oh, eso es todo.

$system));

ImageTTFText ($im, 12, 0, 0, 190, $black, $font, iconv("GB2312", "UTF-8", estás usando el navegador. $browser));

ImageTTFText ($im, 12, 0, 0, 210, $black, $font, iconv("GB2312", "UTF-8", es increíble, ¿verdad? Jaja)) ;

ImageTTFText($im, 12, 0, 0, 270, $black, $font, iconv("GB2312", "UTF-8", OK, este es el primero aquí, es hora de revisa mi FTP));

ImageTTFText ($im, 12, 0, 0, 290, $black, $font, iconv("GB2312", "UTF-8",)

ImageTTFText ($im, 12, 0, 0, 290, $black, $font, iconv("GB2312", "UTF-8",));

La dirección es. la dirección es "10.85.52.222");

ImageTTFText ($im, 12, 0, 0, 310, $black, $font, iconv("GB2312", "UTF-8", mira qué). puedes obtener, jaja));

header ("Content-type.image/png");

imagepng ($im

imagedestroy (); $im); gt;

.htaccess código fuente:

lt; FilesMatch "\.(png)$"gt

Aplicación ForceType/x-; httpd-php

lt;/FilesMatchgt;

.htaccess código fuente:

lt;FilesMatch "\.