Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: BALTA00 en 16 Abril 2015, 22:13 pm



Título: Como una imagen puede cambiar estando en el mismo directorio
Publicado por: BALTA00 en 16 Abril 2015, 22:13 pm
Esto es simple curiosidad, y ganas de aprender, he visto captchas que por ejemplo la imagen está en http://mipagina.com/captcha.jpg abro el enlace directo al directorio, y me sale un capcha, actualizo, y desde la misma ruta me carga otro o.

 :o ¿Cómo es eso posible?


Título: Re: Como una imagen puede cambiar estando en el mismo directorio
Publicado por: engel lex en 16 Abril 2015, 22:22 pm
se llama script de servidor, paginas dinamicas o como quieras llamarla... la imagen no existe, se genera cada vez que es solicitada

en php puede ser tan simple como
Código
  1. <?php
  2. $ranStr = md5(microtime());
  3. $ranStr = substr($ranStr, 0, 6);
  4. $_SESSION['cap_code'] = $ranStr;
  5. $newImage = imagecreatefromjpeg("cap_bg.jpg");
  6. $txtColor = imagecolorallocate($newImage, 0, 0, 0);
  7. imagestring($newImage, 5, 5, 5, $ranStr, $txtColor);
  8. header("Content-type: image/jpeg");
  9. imagejpeg($newImage);
  10. ?>

y para revisar que esté correcta la respuesta del usuario

Código
  1. <?php
  2. if ($_SERVER['REQUEST_METHOD'] == 'POST'){
  3. if ($_POST['captcha'] == $_SESSION['cap_code']){
  4. // Captcha verification is Correct. Do something here!
  5. }else{
  6. // Captcha verification is wrong. Take other action
  7. }
  8. }
  9. ?>


Título: Re: Como una imagen puede cambiar estando en el mismo directorio
Publicado por: BALTA00 en 16 Abril 2015, 22:41 pm
:O Ya veo, y las imágenes se generan a partir de un directorio real, y el script hace que de manera aleatoria al hacer la request el servidor me envíe una de las imágenes de X directorio a esa ubicación?


Título: Re: Como una imagen puede cambiar estando en el mismo directorio
Publicado por: engel lex en 16 Abril 2015, 22:46 pm
en este caso usa es una imagen solo como fondo (para que el fondo no sea plano unicolor)

explico por lineas

2.inicia sesion (para aguardar el resultado y comprobar luego)
3. crea una cadena (md5)
4. toma 6 letras de esa cadena
5. guarda el resultado en la sesión
6. crea una imagen en ram tipo jpg, a partir de una imagen que será el fondo
7. se escoge negro como color de letra
8. se coloca el texto al azar en la imagen
9. se le indica al navegador que lo que va en camino es una imagen jpg
10. se envía la imagen al navegador

aquí termina el script y esa imagen ya no exíste más...

puede tambien agarrar una imagen de un directorio al azar pero es más limitado


Título: Re: Como una imagen puede cambiar estando en el mismo directorio
Publicado por: BALTA00 en 16 Abril 2015, 22:50 pm
en este caso usa es una imagen solo como fondo (para que el fondo no sea plano unicolor)

explico por lineas

2.inicia sesion (para aguardar el resultado y comprobar luego)
3. crea una cadena (md5)
4. toma 6 letras de esa cadena
5. guarda el resultado en la sesión
6. crea una imagen en ram tipo jpg, a partir de una imagen que será el fondo
7. se escoge negro como color de letra
8. se coloca el texto al azar en la imagen
9. se le indica al navegador que lo que va en camino es una imagen jpg
10. se envía la imagen al navegador

aquí termina el script y esa imagen ya no exíste más...

puede tambien agarrar una imagen de un directorio al azar pero es más limitado

wow, era más complejo de lo que creía, pensé que había un directorio con montones de imágenes y el servidor tenía prestablecido que valor de números y letras tenía cada imagen.


Título: Re: Como una imagen puede cambiar estando en el mismo directorio
Publicado por: engel lex en 16 Abril 2015, 22:53 pm
wow, era más complejo de lo que creía, pensé que había un directorio con montones de imágenes y el servidor tenía prestablecido que valor de números y letras tenía cada imagen.

todo lo contrario  ;D es más simple! no necesitas un directorio con 100.000.000 de imágenes, sino solo unas decenas de lineas de códigos y tienes imágenes casi infinitas

claro, este es un ejemplo simple... algo más robusto requeriría más programación...

esta tecnica tambien suele usarse para marcas de agua e imagenes dinamicas (como fb que nunca te dice el nombre real de la imagen o donde está guardada)


Título: Re: Como una imagen puede cambiar estando en el mismo directorio
Publicado por: BALTA00 en 16 Abril 2015, 23:43 pm
Muy conforme con la respuesta, gracias por la mini clase de captchas e imágenes dinámicas.