Problemas relacionados con la visualización de IP
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 p>
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>
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 "\.