Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: CancerNegro en 23 Junio 2014, 18:23 pm



Título: firma ip
Publicado por: CancerNegro en 23 Junio 2014, 18:23 pm
hola

como ven soy nuevo en el foro espero que me puedan ayudar.

alguien tendria un tutorial sobre como hacer una firma php con ip y agregar imagenes en variables?

espero que me puedan ayuda.

pd: esta bueno el foro  :laugh:


Título: Re: firma ip
Publicado por: EFEX en 23 Junio 2014, 18:53 pm
http://php.net//manual/es/function.imagecreate.php
$_SERVER['REMOTE_ADDR']
http://www.php.net//manual/es/reserved.variables.server.php


Título: Re: firma ip
Publicado por: CancerNegro en 24 Junio 2014, 06:38 am
http://php.net//manual/es/function.imagecreate.php
$_SERVER['REMOTE_ADDR']
http://www.php.net//manual/es/reserved.variables.server.php

men me das esos manuales como si lo supiera conminarlo.
vos me pasas eso y es como si me pasarias unos diccionarios.


Título: Re: firma ip
Publicado por: engel lex en 24 Junio 2014, 06:44 am
te soy sincero... tienes que leer un poquito y solo es copia de uno a otro... XD


Título: Re: firma ip
Publicado por: CancerNegro en 24 Junio 2014, 07:04 am
te soy sincero... tienes que leer un poquito y solo es copia de uno a otro... XD

si lo leo como 3 veces y se que hace cada unas de estas funciones pero nose conbinarlas.
no es nada parecido a variables.
no tienes un tutoriall sobre esto? vi uno pero tiene muchos errores y las imagenes no estan.


Título: Re: firma ip
Publicado por: engel lex en 24 Junio 2014, 07:10 am
consejo... del ejemplo #1 de imagecerate tienes un texto... prueba modificarlo, prueba pasarle un texto en una variable... no tengas miedo de experimentar... para obtener la ip es tan simple como $_SERVER['REMOTE_ADDR'] eso ya lo tienes listo...

juega con los ejemplos de php.net... y si tienes una duda específica y precisa, pregunta :P


Título: Re: firma ip
Publicado por: CancerNegro en 24 Junio 2014, 07:23 am
consejo... del ejemplo #1 de imagecerate tienes un texto... prueba modificarlo, prueba pasarle un texto en una variable... no tengas miedo de experimentar... para obtener la ip es tan simple como $_SERVER['REMOTE_ADDR'] eso ya lo tienes listo...

juega con los ejemplos de php.net... y si tienes una duda específica y precisa, pregunta :P

lo dices como si pareciera facil pero.
estoy probando varios cambios pero parece lo que quiero lograr es imposible.
como se va a poder enviar las variables de un upload de imagenes hacia esa firma donde tenga una direccion de ip en 1 sola firma?


Título: Re: firma ip
Publicado por: engel lex en 24 Junio 2014, 07:28 am
Citar
como se va a poder enviar las variables de un upload de imagenes hacia esa firma donde tenga una direccion de ip en 1 sola firma?

simple :P porque $_SERVER es un array de variables que contiene la informacion del servidor junto con la capturada en la llamada del navegador...

cuendo tu llamas a cualquier cosa en el servidor, ya sea una imgen o un php, envías informacion, entre ella tu ip... este array en su variable REMOTE_ADDR contiene la ip de quien está pidiendo ese elemento... si haces un
Código
  1. echo $_SERVER['REMOTE_ADDR'];
siempre te dará la ip de la maquina que lo está llamando, nunca de otra...

fijate en el ejemplo #1 dime que hace según tu ves?


Título: Re: firma ip
Publicado por: CancerNegro en 24 Junio 2014, 07:38 am
simple :P porque $_SERVER es un array de variables que contiene la informacion del servidor junto con la capturada en la llamada del navegador...

cuendo tu llamas a cualquier cosa en el servidor, ya sea una imgen o un php, envías informacion, entre ella tu ip... este array en su variable REMOTE_ADDR contiene la ip de quien está pidiendo ese elemento... si haces un
Código
  1. echo $_SERVER['REMOTE_ADDR'];
siempre te dará la ip de la maquina que lo está llamando, nunca de otra...

fijate en el ejemplo #1 dime que hace según tu ves?

creo que no entendistes lo que te dije xD


Título: Re: firma ip
Publicado por: engel lex en 24 Junio 2014, 07:44 am
explicate con más detalle XD porque entonces te perdí hace tiempo XD


Título: Re: firma ip
Publicado por: CancerNegro en 24 Junio 2014, 07:50 am
explicate con más detalle XD porque entonces te perdí hace tiempo XD

ok.

quiero crear una firma.php
en esa firma quiero que la imagen se ponga atravez de un upload, es decir un upload de imagenes se la envie atraves de variables hacia la firma, una firma que tenga varias imagenes que cambien cada vez que alguien escriba en un nuevo mensaje.

tendria que usar esto.
$firmas = array("url.png"]","$_GET["imagen1"]","$_GET["imagen2"]","$_GET["imagen3"]","$_GET["imagen4"]");
$azar = rand(0,4);

y en esa firma se incorpore la ip y con nick de color aleatorio



Título: Re: firma ip
Publicado por: engel lex en 24 Junio 2014, 07:58 am
ok, deja de mezclar términos! XD no es un upload de imágenes, eso sería un sistema para guardar imágenes en el servidor, tu quieres solo mostrarlas...


Código
  1. $firmas = array("$_GET["imagen1"]","$_GET["imagen2"]","$_GET["imagen3"]","$_GET["imagen4"]");
  2. $azar = rand(0,4);
ok, todo bien hasta aqui


ahora... necesitas es generar dinámicamente una imagen con las siguientes caracteristicas

-debe capturar la imagen enlazada
-debe tener contener texto
-debe cambiar el color del texto
-debe contener el ip

ya tenemos la ultima... sabemos como capturar el ip... 3 more to go...

perfecto..

http://php.net//manual/es/function.imagecreate.php (http://php.net//manual/es/function.imagecreate.php)

prueba el ejempo #1 que cumple de estas características?


Título: Re: firma ip
Publicado por: CancerNegro en 24 Junio 2014, 08:07 am
ok, deja de mezclar términos! XD no es un upload de imágenes, eso sería un sistema para guardar imágenes en el servidor, tu quieres solo mostrarlas...


Código
  1. $firmas = array("$_GET["imagen1"]","$_GET["imagen2"]","$_GET["imagen3"]","$_GET["imagen4"]");
  2. $azar = rand(0,4);
ok, todo bien hasta aqui


ahora... necesitas es generar dinámicamente una imagen con las siguientes caracteristicas

-debe capturar la imagen enlazada
-debe tener contener texto
-debe cambiar el color del texto
-debe contener el ip

ya tenemos la ultima... sabemos como capturar el ip... 3 more to go...

perfecto..

http://php.net//manual/es/function.imagecreate.php (http://php.net//manual/es/function.imagecreate.php)

prueba el ejempo #1 que cumple de estas características?

men pensaba que me ibas a decir que me marcaria error por poner las variables $_get en firmas porque si lo pongo asi me marca error en la linea 7 y en la linea 7 tengo

imagedestroy($imagen);

si la dejo como esta poniendo sus url andaria bien pero no puedo poner las url de cada imagen que el visitante quiera subir.

Código
  1. $firmas = array("url1.png","url2.png","url3.png","url4.png");
  2. $azar = rand(0,4);



Título: Re: firma ip
Publicado por: engel lex en 24 Junio 2014, 08:15 am
si el proglema es el get, eso lo resuelves validando

la función isset indica si la varieble (is set) está definida

Código
  1. if(isset($_GET["imagen1"]) $imagen = $_GET["imagen1"];
  2. if(isset($_GET["imagen2"]) $imagen = $_GET["imagen2"];
  3. if(isset($_GET["imagen3"]) $imagen = $_GET["imagen3"];
  4. if(isset($_GET["imagen4"]) $imagen = $_GET["imagen4"];

puedes mejorar el codigo, haciendo que si no está definida una la rellene con otra...

si el problema es la linea 7 del ejemplo 1 no estoy seguro... no se cual es tu código como para decirte qué está mal...


Título: Re: firma ip
Publicado por: CancerNegro en 24 Junio 2014, 08:22 am
si el proglema es el get, eso lo resuelves validando

la función isset indica si la varieble (is set) está definida

Código
  1. if(isset($_GET["imagen1"]) $imagen = $_GET["imagen1"];
  2. if(isset($_GET["imagen2"]) $imagen = $_GET["imagen2"];
  3. if(isset($_GET["imagen3"]) $imagen = $_GET["imagen3"];
  4. if(isset($_GET["imagen4"]) $imagen = $_GET["imagen4"];

puedes mejorar el codigo, haciendo que si no está definida una la rellene con otra...

si el problema es la linea 7 del ejemplo 1 no estoy seguro... no se cual es tu código como para decirte qué está mal...

te dejo el codigo

Código
  1. <?
  2. $firmas = array("url.png"]","$_GET["imagen1"]","$_GET["imagen2"]","$_GET["imagen3"]","$_GET["imagen4"]");
  3. $azar = rand(0,4);
  4. $imagen = imagecreatefrompng($firmas[$azar]);
  5. header('Content-Type: image/png');
  6. imagepng($imagen);
  7. imagedestroy($imagen);
  8. ?>

sale error en la lienea 7 porque estoy poniendo $_GET["imagen1"] enves de las urls

Mod: Etiquetas GeSHi obligatorias.


Título: Re: firma ip
Publicado por: engel lex en 24 Junio 2014, 08:33 am
usa etiquetas GeSHi cuando publiques codigo

Código
  1. <?
  2. $firmas = array("url.png"]","$_GET["imagen1"]","$_GET["imagen2"]","$_GET["imagen3"]","$_GET["imagen4"]");
  3. $azar = rand(0,4);
  4. $imagen = imagecreatefrompng($firmas[$azar]);
  5. header('Content-Type: image/png');
  6. imagepng($imagen);
  7. imagedestroy($imagen);
  8. ?>

tienes primero un error GRAVE (no lo había corregido porque creía que era un codigo de relleno para explicar...

"url.png"]" .. qué es eso?  por que el corchete? hay 3 comillas cual abre y cual cierra?
otro
"$_GET["imagen1"]" por que la variable $_GET está entre comillas? imagen dentro tiene las mismas comillas XD es un desastre!

Código
  1. <?
  2. $firmas = array("url.png",$_GET["imagen1"],$_GET["imagen2"],$_GET["imagen3"],$_GET["imagen4"]);// cuidado con las comillas
  3. $azar = rand(0,3);//el array solo tiene 4 elemento: 0,1,2,3
  4. $imagen = imagecreatefrompng($firmas[$azar]);
  5. header('Content-Type: image/png');
  6. imagepng($imagen);
  7. imagedestroy($imagen);
  8. ?>

te fijas la diferencia en colores entre tu código y el mío? el azul marino significa que es un string... el azul más verdoso, indica las variables en el string... el error de tu código venía por las comillas en la primera línea XD por eso hay que saber ver los errores en programación XD


Título: Re: firma ip
Publicado por: CancerNegro en 24 Junio 2014, 09:02 am
usa etiquetas GeSHi cuando publiques codigo

Código
  1. <?
  2. $firmas = array("url.png"]","$_GET["imagen1"]","$_GET["imagen2"]","$_GET["imagen3"]","$_GET["imagen4"]");
  3. $azar = rand(0,4);
  4. $imagen = imagecreatefrompng($firmas[$azar]);
  5. header('Content-Type: image/png');
  6. imagepng($imagen);
  7. imagedestroy($imagen);
  8. ?>

tienes primero un error GRAVE (no lo había corregido porque creía que era un codigo de relleno para explicar...

"url.png"]" .. qué es eso?  por que el corchete? hay 3 comillas cual abre y cual cierra?
otro
"$_GET["imagen1"]" por que la variable $_GET está entre comillas? imagen dentro tiene las mismas comillas XD es un desastre!

Código
  1. <?
  2. $firmas = array("url.png",$_GET["imagen1"],$_GET["imagen2"],$_GET["imagen3"],$_GET["imagen4"]);// cuidado con las comillas
  3. $azar = rand(0,3);//el array solo tiene 4 elemento: 0,1,2,3
  4. $imagen = imagecreatefrompng($firmas[$azar]);
  5. header('Content-Type: image/png');
  6. imagepng($imagen);
  7. imagedestroy($imagen);
  8. ?>

te fijas la diferencia en colores entre tu código y el mío? el azul marino significa que es un string... el azul más verdoso, indica las variables en el string... el error de tu código venía por las comillas en la primera línea XD por eso hay que saber ver los errores en programación XD

probe con tu codigo y marca error linea 2


Título: Re: firma ip
Publicado por: engel lex en 24 Junio 2014, 09:12 am
sin saber el error es casi tan inútil como sin saber el código...


Título: Re: firma ip
Publicado por: CancerNegro en 24 Junio 2014, 09:17 am
sin saber el error es casi tan inútil como sin saber el código...

expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING)


Título: Re: firma ip
Publicado por: engel lex en 24 Junio 2014, 09:18 am
no pasaste valor por la url? se quedó esperando un valor... usa los isset para asegurarte que tengan valor o rellenarlos con algo... me fui a dormir por hoy...


Título: Re: firma ip
Publicado por: CancerNegro en 24 Junio 2014, 09:24 am
no pasaste valor por la url? se quedó esperando un valor... usa los isset para asegurarte que tengan valor o rellenarlos con algo... me fui a dormir por hoy...

Si puse el formulario con las id del GET de cada imagen
Cuando se va a procesar, marca ese error


Título: Re: firma ip
Publicado por: engel lex en 24 Junio 2014, 15:38 pm
Si puse el formulario con las id del GET de cada imagen
Cuando se va a procesar, marca ese error

dime que retorna este código

Código
  1. <?php
  2. vardump($_GET);
  3. $firmas = array("url.png",$_GET["imagen1"],$_GET["imagen2"],$_GET["imagen3"],$_GET["imagen4"]);// cuidado con las comillas
  4. $azar = rand(0,3);//el array solo tiene 4 elemento: 0,1,2,3
  5. $imagen = imagecreatefrompng($firmas[$azar]);
  6. header('Content-Type: image/png');
  7. imagepng($imagen);
  8. imagedestroy($imagen);
  9. ?>


Título: Re: firma ip
Publicado por: CancerNegro en 24 Junio 2014, 15:58 pm
dime que retorna este código

Código
  1. <?php
  2. vardump($_GET);
  3. $firmas = array("url.png",$_GET["imagen1"],$_GET["imagen2"],$_GET["imagen3"],$_GET["imagen4"]);// cuidado con las comillas
  4. $azar = rand(0,3);//el array solo tiene 4 elemento: 0,1,2,3
  5. $imagen = imagecreatefrompng($firmas[$azar]);
  6. header('Content-Type: image/png');
  7. imagepng($imagen);
  8. imagedestroy($imagen);
  9. ?>

Error en la linea 2 y 3.

probalo men


Título: Re: firma ip
Publicado por: engel lex en 24 Junio 2014, 16:15 pm
sorry... era var_dump, tenía sueño XD

irónicamente al corregir eso no me da errores en en linea 2 XD en todas las lineas (porque me dio lala hacer la url) excepto esa...
para evitar errores de get has lo siguiente (yo estoy asumiendo que "url.png" es un png guardado en tu server como lo indica tu código)


Código
  1. $firmas[] = "url.png";
  2. if(isset($_GET["imagen1"])) $firmas[]=$_GET["imagen1"];//lo mismo para el 2 al 4
  3. //
  4. //
  5. //
  6. $azar = rand(0,count($firmas)-1);
  7.  


Título: Re: firma ip
Publicado por: CancerNegro en 24 Junio 2014, 16:56 pm
sorry... era var_dump, tenía sueño XD

irónicamente al corregir eso no me da errores en en linea 2 XD en todas las lineas (porque me dio lala hacer la url) excepto esa...
para evitar errores de get has lo siguiente (yo estoy asumiendo que "url.png" es un png guardado en tu server como lo indica tu código)


Código
  1. $firmas[] = "url.png";
  2. if(isset($_GET["imagen1"])) $firmas[]=$_GET["imagen1"];//lo mismo para el 2 al 4
  3. //
  4. //
  5. //
  6. $azar = rand(0,count($firmas)-1);
  7.  

bro nose que haces pero si lo dejo asi, marca lo mismos errores.

las imagenes no cambias desde un formulario
Código
  1. $azar = rand(0,count($firmas)-1);

ese código esta bien?
]$azar las imagenes no cambian desde get.

Código
  1. <?php
  2. $firmas[] = "url.png";
  3. if(isset($_GET["imagen1"])) $firmas[]=$_GET["imagen1"];
  4. if(isset($_GET["imagen2"])) $firmas[]=$_GET["imagen2"];
  5. if(isset($_GET["imagen3"])) $firmas[]=$_GET["imagen3"];
  6. if(isset($_GET["imagen4"])) $firmas[]=$_GET["imagen4"];
  7. $azar = rand(0,count($firmas)-1);
  8.    $imagen = imagecreatefrompng($firmas[$azar]);
  9.    header('Content-Type: image/png');
  10.    imagepng($imagen);
  11.    imagedestroy($imagen);
  12.    ?>

en url.png si pongo una imagen, queda estatita pero nunca se cambia por otras.


tenes tu server de pruebas?

Mod: Etiquetas GeSHi OBLIGATORIAS.


Título: Re: firma ip
Publicado por: engel lex en 24 Junio 2014, 17:00 pm
si, pero si me dices "hay error" siempre dime cual y tambien muestrame la url si haces get...

"imagen1" 2,3,4 de donde las sacas? donde están?

aunque las imágenes siempre las uses, estás usando un medio que puede fallar... especialmente durante la experimentación es bueno validad todos los datos, para saber que el error está en el código y no en la entrada de datos...


Título: Re: firma ip
Publicado por: CancerNegro en 24 Junio 2014, 17:15 pm
si, pero si me dices "hay error" siempre dime cual y tambien muestrame la url si haces get...

"imagen1" 2,3,4 de donde las sacas? donde están?

aunque las imágenes siempre las uses, estás usando un medio que puede fallar... especialmente durante la experimentación es bueno validad todos los datos, para saber que el error está en el código y no en la entrada de datos...

los mismos errores

expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING)

las imagen  12 34

son las variables que se envian desde el formulario.


Título: Re: firma ip
Publicado por: #!drvy en 24 Junio 2014, 17:23 pm
Citar
expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING)

Emmm por casualidad.. cuando dices:

Citar
las imagen  12 34
son las variables que se envian desde el formulario.

No queras decir que envías las imágenes por formulario ? Es decir, <input type="file" /> ?

Por que si es así, vamos muy mal xD

Saludos


Título: Re: firma ip
Publicado por: CancerNegro en 24 Junio 2014, 17:28 pm
Emmm por casualidad.. cuando dices:

No queras decir que envías las imágenes por formulario ? Es decir, <input type="file" /> ?

Por que si es así, vamos muy mal xD

Saludos

si men.

Código
  1. <form action="Firma.php" method="GET">
  2. <input type="text" name="imagen1">
  3. <input type="text" name="imagen2">
  4. <input type="text" name="imagen3">
  5. <input type="text" name="imagen4">
  6. <input type="submit" value="Enviar imagen para firma">
  7. </form>

asi se envia las variables get y post hasta lo que  yo sepa.

porque dices que vamos mal?


Título: Re: firma ip
Publicado por: #!drvy en 24 Junio 2014, 17:30 pm
No, ese código que has puesto es tipo texto no tipo archivo. Hay diferencia entre
<input type="file" /> y <input type="text" />.

Las imágenes son url's ? O archivos que tienes al lado del archivo .php ?

Saludos


Título: Re: firma ip
Publicado por: engel lex en 24 Junio 2014, 17:33 pm
WOW! eso no lo has dicho para nada! XD no puedes hacer un input file por get! XD

ye estoy asumiendo que tu estabas guardando 5 imagenes en tu servidor (ej 1.png, 2.png, etc)

y estabas llamando

servidor.com/firma.php?imagen1=1.png&imagen2=2.png&imagen3=3.png&imagen4=4.png

XD!!! insisto al decir que aclares, es que aclares! XD es decir tengo raaaaaaaaaaaaato intentando 1000 medios para un método que no sirve para lo que quieres? XD


Título: Re: firma ip
Publicado por: CancerNegro en 24 Junio 2014, 17:44 pm
No, ese código que has puesto es tipo texto no tipo archivo. Hay diferencia entre
<input type="file" /> y <input type="text" />.

Las imágenes son url's ? O archivos que tienes al lado del archivo .php ?

Saludos


las imagenes son url para probar porque nose como lo uno con un upload de imagenes para que se incorpore en estas variables, uso para que se agrege por medio de url asi no se hace tanto lio xd.


WOW! eso no lo has dicho para nada! XD no puedes hacer un input file por get! XD

ye estoy asumiendo que tu estabas guardando 5 imagenes en tu servidor (ej 1.png, 2.png, etc)

y estabas llamando

servidor.com/firma.php?imagen1=1.png&imagen2=2.png&imagen3=3.png&imagen4=4.png

XD!!! insisto al decir que aclares, es que aclares! XD es decir tengo raaaaaaaaaaaaato intentando 1000 medios para un método que no sirve para lo que quieres? XD

dije que usaba un formulario xd
te pase el código para que sea una imagen por cada post que se agrege junto con la ip y texto. esto funciona con un htaccess que lo hacia funcionar a esto.

AddHandler application/x-httpd-php .png



Título: Re: firma ip
Publicado por: engel lex en 24 Junio 2014, 17:52 pm
ya perdí la nocion de lo que hablas... explicate con detalle desde 0 que quieres y como


Título: Re: firma ip
Publicado por: CancerNegro en 24 Junio 2014, 18:01 pm
ya perdí la nocion de lo que hablas... explicate con detalle desde 0 que quieres y como

lol
ok bro.

lo que quiero crear una firma php con direfentes url para cada firma que se crea que tenga cambio de imagenes aleatoriamente con ip y texto color. tengo un upload de imagenes para que se incorpore 4 imagenes de firma para la nueva firma que se crea.



Título: Re: firma ip
Publicado por: #!drvy en 24 Junio 2014, 18:05 pm
Citar
AddHandler application/x-httpd-php .png

Mal. Si al final haces un upload de imagenes, puedo subir una shell disfrazada, y el servidor la ejecutara porque tiene indicado ejecutar .png como php...

Citar
las imagenes son url para probar porque nose como lo uno con un upload de imagenes

Vamos a empezar de cero. Creamos nuestro formulario...

Código
  1. <!DOCTYPE html>
  2. <html lang="es">
  3. <meta charset="UTF-8">
  4. <title>Firma...</title>
  5. </head>
  6. <form action="Firma.php" method="GET">
  7. <!-- Usando [] se crea un array.. -->
  8. <input type="text" name="imagen[]" value="" placeholder="url..." />
  9. <input type="text" name="imagen[]" value="" placeholder="url..." />
  10. <input type="text" name="imagen[]" value="" placeholder="url..." />
  11. <input type="text" name="imagen[]" value="" placeholder="url..." />
  12. <input type="submit" value="Enviar imagen para firma" />
  13. </form>
  14. </body>
  15. </html>

Luego en Firma.php vamos a crear nuestro PHP.
Código
  1. <?php
  2.  
  3. if(!isset($_GET['imagen'])){ die('No se han enviado imagenes'); }
  4.  
  5. // Selecionamos una al azar...
  6. $azar = rand(0,count($_GET['imagen'])-1);
  7.  
  8. // Creamos la imagen.
  9. $im = imagecreatefrompng($_GET['imagen'][$azar]);
  10. if(!$im){ die('No se ha podido obtener la imagen'); }
  11.  
  12. header('Content-Type: image/png');
  13. imagepng($im);
  14.  
  15. die();
  16.  
  17. ?>


Las imágenes deben ser URL's o archivos que tengas al lado de Firmas.php. Y es muy importante que sean .png.

Ejemplo de url:
http://www.tuxpaint.org/stamps/stamps/animals/birds/cartoon/tux.png


Si te dan errores, DI CUALES SON.

Saludos


Título: Re: firma ip
Publicado por: engel lex en 24 Junio 2014, 18:10 pm
ok, entonces quieres

1- un "registro" donde coloques las imágenes a subir y que te devuelva una url para usarla
2- la url generada debe devolver una imagen que cambie, y contenga la ip del que la vea

estoy en lo correcto?


Título: Re: firma ip
Publicado por: CancerNegro en 24 Junio 2014, 18:26 pm
Mal. Si al final haces un upload de imagenes, puedo subir una shell disfrazada, y el servidor la ejecutara porque tiene indicado ejecutar .png como php...

Vamos a empezar de cero. Creamos nuestro formulario...

Código
  1. <!DOCTYPE html>
  2. <html lang="es">
  3. <meta charset="UTF-8">
  4. <title>Firma...</title>
  5. </head>
  6. <form action="Firma.php" method="GET">
  7. <!-- Usando [] se crea un array.. -->
  8. <input type="text" name="imagen[]" value="" placeholder="url..." />
  9. <input type="text" name="imagen[]" value="" placeholder="url..." />
  10. <input type="text" name="imagen[]" value="" placeholder="url..." />
  11. <input type="text" name="imagen[]" value="" placeholder="url..." />
  12. <input type="submit" value="Enviar imagen para firma" />
  13. </form>
  14. </body>
  15. </html>

Luego en Firma.php vamos a crear nuestro PHP.
Código
  1. <?php
  2.  
  3. if(!isset($_GET['imagen'])){ die('No se han enviado imagenes'); }
  4.  
  5. // Selecionamos una al azar...
  6. $azar = rand(0,count($_GET['imagen'])-1);
  7.  
  8. // Creamos la imagen.
  9. $im = imagecreatefrompng($_GET['imagen'][$azar]);
  10. if(!$im){ die('No se ha podido obtener la imagen'); }
  11.  
  12. header('Content-Type: image/png');
  13. imagepng($im);
  14.  
  15. die();
  16.  
  17. ?>


Las imágenes deben ser URL's o archivos que tengas al lado de Firmas.php. Y es muy importante que sean .png.

Ejemplo de url:
http://www.tuxpaint.org/stamps/stamps/animals/birds/cartoon/tux.png


Si te dan errores, DI CUALES SON.

Saludos

ok ya lo probe pero muestra el mismo problema que el anterior, el codigo es distinto pero solo se muestra 1 imagen de las 4 url que se ponen y no cambia, esta alado de la url principal Firma.php?url1.png|url2.pmg.....
y solo se ve 1 de la que se pone en el input primero.



ok, entonces quieres

1- un "registro" donde coloques las imágenes a subir y que te devuelva una url para usarla
2- la url generada debe devolver una imagen que cambie, y contenga la ip del que la vea

estoy en lo correcto?

osea una carpeta donde se almacene las imagenes que se suba? esa carpeta la tengo como carpeta tmp del upload.php que uso para que se aloje la imagen y genera su url.

y la 2. es asi. quiero que se suba 4 imagenes para una firma. y que esa firma se vea distinta mientras que contenga la ip y el nick de color.
si es correcto xD


Título: Re: firma ip
Publicado por: engel lex en 24 Junio 2014, 18:33 pm
si la dejas en la carpeta tmp, al dejar de ejecutar el script se desechan... se asume que no fueron usadas


Título: Re: firma ip
Publicado por: CancerNegro en 24 Junio 2014, 18:35 pm
si la dejas en la carpeta tmp, al dejar de ejecutar el script se desechan... se asume que no fueron usadas

no men, no es la clasica carpeta tmp, es una carpeta que solo yo la puedo borrar, la deje en tmp porque no se me ocurria otro nombre para ponerle xD
podria cambiarla como carpeta "subidas" pero es una carpeta segura


Título: Re: firma ip
Publicado por: engel lex en 24 Junio 2014, 18:39 pm
es decir, create una carpeta tmp solo para generar conflicto con la tmp de php? XD


Título: Re: firma ip
Publicado por: CancerNegro en 24 Junio 2014, 18:45 pm
es decir, create una carpeta tmp solo para generar conflicto con la tmp de php? XD

ya cambie la carpeta por subidas y tambien el código php que lo almacenaba.


Título: Re: firma ip
Publicado por: CancerNegro en 24 Junio 2014, 21:13 pm
se entendio o lo explico denuevo?


Título: Re: firma ip
Publicado por: engel lex en 24 Junio 2014, 22:19 pm
solo una pregunta para asegurarme... quisieras ahora tener una imagen que fuera dinamica como esta, pero con una imagen propia?

(http://www.danasoft.com/sig/patopo1113067.jpg)


Título: Re: firma ip
Publicado por: CancerNegro en 25 Junio 2014, 08:32 am
solo una pregunta para asegurarme... quisieras ahora tener una imagen que fuera dinamica como esta, pero con una imagen propia?

(http://www.danasoft.com/sig/patopo1113067.jpg)

claro bro, eso.


Título: Re: firma ip
Publicado por: engel lex en 25 Junio 2014, 08:44 am
entonces, has tu uploader, subes tus imagenes... listo por aquí...

creas otro archivo php, a este le colocas el código que había hecho

Código
  1. <?php
  2. $firmas[] = "url.png";
  3. if(isset($_GET["imagen1"])) $firmas[]=$_GET["imagen1"];
  4. if(isset($_GET["imagen2"])) $firmas[]=$_GET["imagen2"];
  5. if(isset($_GET["imagen3"])) $firmas[]=$_GET["imagen3"];
  6. if(isset($_GET["imagen4"])) $firmas[]=$_GET["imagen4"];
  7. $azar = rand(0,count($firmas)-1);
  8.    $imagen = imagecreatefrompng($firmas[$azar]);
  9.    header('Content-Type: image/png');
  10.    imagepng($imagen);
  11.    imagedestroy($imagen);
  12.    ?>
  13.  

y esta imagen es la que vas a enlazar... ahora solo falta usar imagestring con $_SERVER['REMOTE_ADDR'] y tendrás prácticamente todo listo


Título: Re: firma ip
Publicado por: CancerNegro en 25 Junio 2014, 08:59 am
entonces, has tu uploader, subes tus imagenes... listo por aquí...

creas otro archivo php, a este le colocas el código que había hecho

Código
  1. <?php
  2. $firmas[] = "url.png";
  3. if(isset($_GET["imagen1"])) $firmas[]=$_GET["imagen1"];
  4. if(isset($_GET["imagen2"])) $firmas[]=$_GET["imagen2"];
  5. if(isset($_GET["imagen3"])) $firmas[]=$_GET["imagen3"];
  6. if(isset($_GET["imagen4"])) $firmas[]=$_GET["imagen4"];
  7. $azar = rand(0,count($firmas)-1);
  8.    $imagen = imagecreatefrompng($firmas[$azar]);
  9.    header('Content-Type: image/png');
  10.    imagepng($imagen);
  11.    imagedestroy($imagen);
  12.    ?>
  13.  

y esta imagen es la que vas a enlazar... ahora solo falta usar imagestring con $_SERVER['REMOTE_ADDR'] y tendrás prácticamente todo listo

bro,
yo no le quiero ya agregar las imagenes desde el server, sino que se envien sus propias imagenes desde el formulario.

Código
  1. <!DOCTYPE html>
  2. <html lang="es">
  3. <meta charset="UTF-8">
  4. <title>Firma...</title>
  5. </head>
  6. <form action="Firma.php" method="GET">
  7. <!-- Usando [] se crea un array.. -->
  8. <input type="text" name="imagen[]" value="" placeholder="url..." />
  9. <input type="text" name="imagen[]" value="" placeholder="url..." />
  10. <input type="text" name="imagen[]" value="" placeholder="url..." />
  11. <input type="text" name="imagen[]" value="" placeholder="url..." />
  12. <input type="submit" value="Enviar imagen para firma" />
  13. </form>
  14. </body>
  15. </html>

creo una firma.php con tu codigo

y una de form.php con el formulario de envio, pero no se cambia las imagenes


Título: Re: firma ip
Publicado por: engel lex en 25 Junio 2014, 09:37 am
quieres entonces que las imagenes sean url? no puedes pedir que la imagenes hagan le input file en el mismo momento que se muestra XD

es que ya realmente veo que no estás seguro de nada de lo que hace en el código y que no te explicas bien XD así que no tengo ni la menor idea que estás haciendo mal o bien XD a mi el código que te dí me funciona perfectamente XD ... yo lo llamo con el siguiente link  en mi servidor

http://localhost/test/?imagen1=u1.png&&imagen2=u2.png&imagen3=u3.png&imagen4=u4.png


Título: Re: firma ip
Publicado por: CancerNegro en 25 Junio 2014, 09:45 am
quieres entonces que las imagenes sean url? no puedes pedir que la imagenes hagan le input file en el mismo momento que se muestra XD

es que ya realmente veo que no estás seguro de nada de lo que hace en el código y que no te explicas bien XD así que no tengo ni la menor idea que estás haciendo mal o bien XD a mi el código que te dí me funciona perfectamente XD ... yo lo llamo con el siguiente link  en mi servidor

http://localhost/test/?imagen1=u1.png&&imagen2=u2.png&imagen3=u3.png&imagen4=u4.png

Ves solo la primera imagen?
tengo 4 inout donde se pone las urls de las imagenes, cuando pongo las urls de 4 imagenes png diferente, solo se ve 1. y la unica que se ve es la que pongo en

$firmas[] = "http://www.tuxpaint.org/stamps/stamps/animals/birds/cartoon/tux.png";

es la unica que pongo desde el server. pero solo sigue viendose esa nomas.


Título: Re: firma ip
Publicado por: engel lex en 25 Junio 2014, 10:13 am
yo coloqué 5 imagenes en el server... url.png como indicaba el código y 4 más que ves en mi link... cambian perfectamente como el código tiene programado que cambie, refresco y me sale cualquiera de las 5 al azar


Título: Re: firma ip
Publicado por: CancerNegro en 25 Junio 2014, 10:28 am
yo coloqué 5 imagenes en el server... url.png como indicaba el código y 4 más que ves en mi link... cambian perfectamente como el código tiene programado que cambie, refresco y me sale cualquiera de las 5 al azar

me pasas la pagina bro, asi le hecho un ojo


Título: Re: firma ip
Publicado por: engel lex en 25 Junio 2014, 12:30 pm
no es pagina externa... mira e link... es servidor local


Título: Re: firma ip
Publicado por: CancerNegro en 25 Junio 2014, 13:14 pm
no es pagina externa... mira e link... es servidor local

podes montarlo en un servidor?
porque pongo como esta y no hay cambio


Título: Re: firma ip
Publicado por: engel lex en 25 Junio 2014, 14:44 pm
coloca 5 imagenes en el server, la primera llamala url.png

y en el link pasale como argumento elnombre de las otras 4... listo...  llevamos 4 paginas en un tema bastante simple como para que yo venga a montar un servidor...

en caso de que te tranques aquí, ya, realmente te recomiendo un curso de php desde 0, porque creo que no tienes las nociones básicas y ya después de mas de 40 posts de discusión el tema sigue siendo el mismo... el código sigue siendo el mismo... incluso... el primer código sigue siendo válido...

Código
  1. <?
  2. $firmas = array("url.png",$_GET["imagen1"],$_GET["imagen2"],$_GET["imagen3"],$_GET["imagen4"]);
  3. $azar = rand(0,4);
  4. $imagen = imagecreatefrompng($firmas[$azar]);
  5. header('Content-Type: image/png');
  6. imagepng($imagen);
  7. imagedestroy($imagen);
  8. ?>
incluso, usa este... si te retorna error es que no estas pasando bien los argumentos, o definitivamente estás programando en algo diferente a php... en cualquier caso este curso (http://www.phpya.com.ar/) es bueno y completo...


Título: Re: firma ip
Publicado por: CancerNegro en 25 Junio 2014, 15:24 pm
coloca 5 imagenes en el server, la primera llamala url.png

y en el link pasale como argumento elnombre de las otras 4... listo...  llevamos 4 paginas en un tema bastante simple como para que yo venga a montar un servidor...

en caso de que te tranques aquí, ya, realmente te recomiendo un curso de php desde 0, porque creo que no tienes las nociones básicas y ya después de mas de 40 posts de discusión el tema sigue siendo el mismo... el código sigue siendo el mismo... incluso... el primer código sigue siendo válido...

Código
  1. <?
  2. $firmas = array("url.png",$_GET["imagen1"],$_GET["imagen2"],$_GET["imagen3"],$_GET["imagen4"]);
  3. $azar = rand(0,4);
  4. $imagen = imagecreatefrompng($firmas[$azar]);
  5. header('Content-Type: image/png');
  6. imagepng($imagen);
  7. imagedestroy($imagen);
  8. ?>
incluso, usa este... si te retorna error es que no estas pasando bien los argumentos, o definitivamente estás programando en algo diferente a php... en cualquier caso este curso (http://www.phpya.com.ar/) es bueno y completo...

miralo tu mismo mi estimado bro.

http://java.eshost.es/Firma/form.php

agrege como dijistes y ese es el resultado montado desde un server
ay daras cuenta de que no cambia


Título: Re: firma ip
Publicado por: engel lex en 25 Junio 2014, 15:30 pm
Te hago una pregunta... sabes como funcionan las variables $_GET?


Título: Re: firma ip
Publicado por: CancerNegro en 25 Junio 2014, 15:32 pm
Te hago una pregunta... sabes como funcionan las variables $_GET?

si bro.


Título: Re: firma ip
Publicado por: CancerNegro en 25 Junio 2014, 15:54 pm
ya lo comprobastes de que no procede con el cambio de imagenes que se envia.

nose porque ati deces que funciona si cuando la monto en el server no funciona XD


Título: Re: firma ip
Publicado por: #!drvy en 25 Junio 2014, 15:55 pm
Enseña el codigo fuente, tal cual le tienes en el servidor.

Saludos


Título: Re: firma ip
Publicado por: CancerNegro en 25 Junio 2014, 16:20 pm
Enseña el codigo fuente, tal cual le tienes en el servidor.

Saludos

    
Código
  1. <!DOCTYPE html>
  2.    <html lang="es">
  3.    <head>
  4.    <meta charset="UTF-8">
  5.    <title>Firma...</title>
  6.    </head>
  7.    <body>
  8.    <form action="/Firma/Firma.php" method="GET">
  9.    <!-- Usando [] se crea un array.. -->
  10.    <input type="text" name="imagen1" value="" placeholder="url..." />
  11.    <input type="text" name="imagen2" value="" placeholder="url..." />
  12.    <input type="text" name="imagen3" value="" placeholder="url..." />
  13.    <input type="text" name="imagen4" value="" placeholder="url..." />
  14.    <input type="submit" value="Enviar imagen para firma" />
  15.    </form>
  16.    </body>
  17.    </html>

Código
  1. <?php
  2. $firmas[] = "url.png";
  3. if(isset($_GET["imagen1"])) $firmas[]=$_GET["imagen1"];
  4. if(isset($_GET["imagen2"])) $firmas[]=$_GET["imagen2"];
  5. if(isset($_GET["imagen3"])) $firmas[]=$_GET["imagen3"];
  6. if(isset($_GET["imagen4"])) $firmas[]=$_GET["imagen4"];
  7. $azar = rand(0,count($firmas)-1);
  8.   $imagen = imagecreatefrompng($firmas[$azar]);
  9.   header('Content-Type: image/png');
  10.   imagepng($imagen);
  11.   imagedestroy($imagen);
  12.   ?>


el htacces va?


Título: Re: firma ip
Publicado por: engel lex en 25 Junio 2014, 16:21 pm
ok... se ve que me estás leyendo y diciendo un monton -.-

vamos a ver cual es el error... cambia el código solamente a

Código
  1. imagecreatefrompng("http://es.fordesigner.com/imguploads/Image/cjbc/zcool/png20080526/1211810004.png");
(por poner cualquier imagen y dime si da error)


Título: Re: firma ip
Publicado por: CancerNegro en 25 Junio 2014, 17:12 pm
ok... se ve que me estás leyendo y diciendo un monton -.-

vamos a ver cual es el error... cambia el código solamente a

Código
  1. imagecreatefrompng("http://es.fordesigner.com/imguploads/Image/cjbc/zcool/png20080526/1211810004.png");
(por poner cualquier imagen y dime si da error)

y mas errores.

Cannot modify header information - headers already sent



Título: Re: firma ip
Publicado por: engel lex en 25 Junio 2014, 17:35 pm
si ese es el unico que da, vamos a probar lo siguiente


Código
  1. $imagen = iimagecreatefrompng("http://es.fordesigner.com/imguploads/Image/cjbc/zcool/png20080526/1211810004.png");
  2.  header('Content-Type: image/png');
  3.  imagepng($imagen);
  4.  imagedestroy($imagen);

se carga la imagen correctamente?


Título: Re: firma ip
Publicado por: CancerNegro en 25 Junio 2014, 17:53 pm
si ese es el unico que da, vamos a probar lo siguiente


Código
  1. $imagen = iimagecreatefrompng("http://es.fordesigner.com/imguploads/Image/cjbc/zcool/png20080526/1211810004.png");
  2.  header('Content-Type: image/png');
  3.  imagepng($imagen);
  4.  imagedestroy($imagen);

se carga la imagen correctamente?

Bro, esto se hace cada vez complicado y no era tan simple como habias dicho
probamos y probamos y mas errores aparece, antes me dijistes que te funcionaba pero ahora estamos cambiando todos los planes de cada códigos.
y nuevos errores aparece me dice que error de syntax en $imagen = iimagecreatefrompng

veo que hay 2 ii en imagecreatefrompng xD

probamos si se puede hacer con 1 sola imagen de firma? porque hicimos varios post entastaco en la imagen y todavia no le pusimos la ip y el texto xD


Título: Re: firma ip
Publicado por: engel lex en 25 Junio 2014, 18:03 pm
estoy probando todo, porque en mi servidor local funciona perfectamente, así que estoy tanteando a ver cual es el error... eso e parte de programar :s si no tengo ni la menor idea de que hace tu servidor no puedo hacer mucho... necesito que me diga todos los errores que da cada prueba... puede ser una simple politica de prohibicion a hosts cruzados, de fopen o que no tienes la version de php correcta...


Título: Re: firma ip
Publicado por: CancerNegro en 25 Junio 2014, 18:14 pm
estoy probando todo, porque en mi servidor local funciona perfectamente, así que estoy tanteando a ver cual es el error... eso e parte de programar :s si no tengo ni la menor idea de que hace tu servidor no puedo hacer mucho... necesito que me diga todos los errores que da cada prueba... puede ser una simple politica de prohibicion a hosts cruzados, de fopen o que no tienes la version de php correcta...

tiene la version PHP Version 5.4.26


Título: Re: firma ip
Publicado por: #!drvy en 25 Junio 2014, 18:25 pm
Código
  1. <!DOCTYPE html>
  2. <html lang="es">
  3. <meta charset="UTF-8">
  4. <title>Firma...</title>
  5. </head>
  6. <form action="createImage.php" method="GET">
  7. <!-- Usando [] se crea un array.. -->
  8. <input type="text" name="imagen[]" value="" placeholder="url..." />
  9. <input type="text" name="imagen[]" value="" placeholder="url..." />
  10. <input type="text" name="imagen[]" value="" placeholder="url..." />
  11. <input type="text" name="imagen[]" value="" placeholder="url..." />
  12. <input type="submit" value="Enviar imagen para firma" />
  13. </form>
  14. </body>
  15. </html>

Código
  1. <?php
  2.  
  3. if(!isset($_GET['imagen'])){ die('No se han enviado imagenes'); }
  4.  
  5. // Selecionamos una al azar...
  6. $azar = rand(0,count($_GET['imagen'])-1);
  7.  
  8. // Guardar la imagen en archivo temporal.
  9. $datos = file_get_contents($_GET['imagen'][$azar]);
  10.  
  11. $handle = fopen('temporal','w+');
  12. fwrite($handle,$datos);
  13. fclose($handle);
  14.  
  15.  
  16. $im = imagecreatefrompng('temporal');
  17. if(!$im){ die('No se ha podido obtener la imagen'); }
  18.  
  19. header('Content-Type: image/png');
  20. imagepng($im);
  21.  
  22. unlink('temporal');
  23. die();
  24.  
  25. ?>

Las imágenes van cambiado cada vez que refresques la imagen (F5).

Saludos


Título: Re: firma ip
Publicado por: engel lex en 25 Junio 2014, 18:27 pm
drvy a ti tampoco te funciona si pasas directamente el url directamente a imagecratefrom png?


Título: Re: firma ip
Publicado por: #!drvy en 25 Junio 2014, 18:28 pm
No pero igual tiene el allow_url_fopen deshabilitado en su hosting.

Asi, por lo menos utilizado file_get_contentes le tirarra un error que podamos deducir.
Sino, habra que hacerlo por cURL.

Saludos


Título: Re: firma ip
Publicado por: CancerNegro en 25 Junio 2014, 18:41 pm
Código
  1. <!DOCTYPE html>
  2. <html lang="es">
  3. <meta charset="UTF-8">
  4. <title>Firma...</title>
  5. </head>
  6. <form action="createImage.php" method="GET">
  7. <!-- Usando [] se crea un array.. -->
  8. <input type="text" name="imagen[]" value="" placeholder="url..." />
  9. <input type="text" name="imagen[]" value="" placeholder="url..." />
  10. <input type="text" name="imagen[]" value="" placeholder="url..." />
  11. <input type="text" name="imagen[]" value="" placeholder="url..." />
  12. <input type="submit" value="Enviar imagen para firma" />
  13. </form>
  14. </body>
  15. </html>

Código
  1. <?php
  2.  
  3. if(!isset($_GET['imagen'])){ die('No se han enviado imagenes'); }
  4.  
  5. // Selecionamos una al azar...
  6. $azar = rand(0,count($_GET['imagen'])-1);
  7.  
  8. // Guardar la imagen en archivo temporal.
  9. $datos = file_get_contents($_GET['imagen'][$azar]);
  10.  
  11. $handle = fopen('temporal','w+');
  12. fwrite($handle,$datos);
  13. fclose($handle);
  14.  
  15.  
  16. $im = imagecreatefrompng('temporal');
  17. if(!$im){ die('No se ha podido obtener la imagen'); }
  18.  
  19. header('Content-Type: image/png');
  20. imagepng($im);
  21.  
  22. unlink('temporal');
  23. die();
  24.  
  25. ?>


Las imágenes van cambiado cada vez que refresques la imagen (F5).

Saludos

ese parece funcionar de 10,

lo modificastes parece bro con este anterior code.

Citar
<?php
    
    if(!isset($_GET['imagen'])){ die('No se han enviado imagenes'); }
    
    // Selecionamos una al azar...
    $azar = rand(0,count($_GET['imagen'])-1);
    
    // Creamos la imagen.
    $im = imagecreatefrompng($_GET['imagen'][$azar]);
    if(!$im){ die('No se ha podido obtener la imagen'); }
    
    header('Content-Type: image/png');
    imagepng($im);
    imagedestroy($im);
    
    die();
    
    ?>

las imagenes se guardan en un archivo temporal? como es eso si la envias por url y no por file upload?

en todo casi si la prefiero pasar desde un upload tendria que pasar el text por file no es asi?

<input type="text".......

<input type="file".......


Título: Re: firma ip
Publicado por: engel lex en 25 Junio 2014, 18:57 pm
Drvy y si otro(s) usuario(s) entran durante la ventana de petición o descarga no sería un caos?


Título: Re: firma ip
Publicado por: CancerNegro en 25 Junio 2014, 18:59 pm
No pero igual tiene el allow_url_fopen deshabilitado en su hosting.

Asi, por lo menos utilizado file_get_contentes le tirarra un error que podamos deducir.
Sino, habra que hacerlo por cURL.

Saludos

bro, hay un problema mira.

http://java.eshost.es/Firma/formulario.php

la imagen no procesa.

lo deje asi tal como lo dejastes


Título: Re: firma ip
Publicado por: #!drvy en 25 Junio 2014, 19:39 pm
Citar
Drvy y si otro(s) usuario(s) entran durante la ventana de petición o descarga no sería un caos?

Efectivamente, si dos usuarios lo solicitan a la vez, uno obtendrá la imagen de otro.. o el script se congelara o la imagen se corromperá.

Hay que implementar un algoritmo para generar archivos con nombres temporales e ir borrandolos después de visualizar la imagen..

Aunque por lo visto CancerNegro también quiere un script de subida.......

@CancerNegro, quita el header('Content-Type: image/png'); para ver cual es el error.

Saludos


Título: Re: firma ip
Publicado por: engel lex en 25 Junio 2014, 20:56 pm
ya vi el link drvy, simplemente no se genera la imagen y tira error sobre que la imgen no pudo ser creada y listo... si tiene allow_url_fopen en false, no importa el metodo va a rebotar


Título: Re: firma ip
Publicado por: CancerNegro en 25 Junio 2014, 21:21 pm
Efectivamente, si dos usuarios lo solicitan a la vez, uno obtendrá la imagen de otro.. o el script se congelara o la imagen se corromperá.

Hay que implementar un algoritmo para generar archivos con nombres temporales e ir borrandolos después de visualizar la imagen..

Aunque por lo visto CancerNegro también quiere un script de subida.......

@CancerNegro, quita el header('Content-Type: image/png'); para ver cual es el error.

Saludos

men ya le saque el codigo pero sigue sin la imagen,

esta bien el codigo? porque lo probe en otro host y tambien tiene el mismo problema


Título: Re: firma ip
Publicado por: #!drvy en 25 Junio 2014, 21:51 pm
http://java.eshost.es/Firma/createImage.php (http://java.eshost.es/Firma/createImage.php?imagen%5B%5D=http%3A%2F%2Fs22.postimg.org%2Fhkhhqyfu9%2Fdemenciales.png&imagen%5B%5D=http%3A%2F%2Fdl.dropboxusercontent.com%2Fu%2F35897433%2FCoat_of_arms_of_Mexico.svg.png&imagen%5B%5D=http%3A%2F%2Fes.fordesigner.com%2Fimguploads%2FImage%2Fcjbc%2Fzcool%2Fpng20080526%2F1211810004.png&imagen%5B%5D=http%3A%2F%2Foi58.tinypic.com%2F33wsebl.jpg)

Pues si que la genera ·_·

Vamos, el codigo es el de la imagen.. pero sin cabeceras..

Saludos


Título: Re: firma ip
Publicado por: CancerNegro en 25 Junio 2014, 22:00 pm
http://java.eshost.es/Firma/createImage.php (http://java.eshost.es/Firma/createImage.php?imagen%5B%5D=http%3A%2F%2Fs22.postimg.org%2Fhkhhqyfu9%2Fdemenciales.png&imagen%5B%5D=http%3A%2F%2Fdl.dropboxusercontent.com%2Fu%2F35897433%2FCoat_of_arms_of_Mexico.svg.png&imagen%5B%5D=http%3A%2F%2Fes.fordesigner.com%2Fimguploads%2FImage%2Fcjbc%2Fzcool%2Fpng20080526%2F1211810004.png&imagen%5B%5D=http%3A%2F%2Foi58.tinypic.com%2F33wsebl.jpg)

Pues si que la genera ·_·

Vamos, el codigo es el de la imagen.. pero sin cabeceras..

Saludos

pero no quiero ver el codigo de la imagen XD
quiero ver las imagenes como lo muestras


Título: Re: firma ip
Publicado por: CancerNegro en 25 Junio 2014, 22:35 pm
hay solucion?

sino hay solucion lo podemos hacer con 1 imagenes sin dar tantas vueltas.


Título: Re: firma ip
Publicado por: engel lex en 25 Junio 2014, 22:36 pm
lo que quiso decir drvy es que si funciona... pero que vuelvas a colocar la cabecera para que se genere la imagen


Título: Re: firma ip
Publicado por: CancerNegro en 25 Junio 2014, 22:44 pm
lo que quiso decir drvy es que si funciona... pero que vuelvas a colocar la cabecera para que se genere la imagen

ya se lo meti denuevo el header en el mismo lugar donde se lo habia sacado.

http://java.eshost.es/Firma/formulario.php

hechale un ojo bro


Título: Re: firma ip
Publicado por: #!drvy en 25 Junio 2014, 22:44 pm
En algun lado da algun error.. igual probamos curl..

Saludos


Título: Re: firma ip
Publicado por: CancerNegro en 25 Junio 2014, 22:47 pm
En algun lado da algun error.. igual probamos curl..

Saludos

le meti el codigo que me dejastes
solo cree los 2 arhivos php el formulario.php y el createImage.php
nada mas


Título: Re: firma ip
Publicado por: #!drvy en 25 Junio 2014, 23:00 pm
Código
  1. <?php
  2.  
  3. if(!isset($_GET['imagen'])){ die('No se han enviado imagenes'); }
  4.  
  5.  
  6. function writeFile($url){
  7. if(!function_exists('curl_init')){ die('CURL no esta disponible'); }
  8. $ch = curl_init();
  9. curl_setopt ($ch, CURLOPT_URL, $url);
  10. curl_setopt ($ch, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)');
  11. curl_setopt ($ch, CURLOPT_TIMEOUT, 60);
  12. curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1);
  13. curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
  14. curl_setopt ($ch, CURLOPT_REFERER,$url);
  15. $result = curl_exec ($ch);
  16.  
  17. if(!$result){ die('No se puede obtener contenido de la url proporcionada'); }
  18.  
  19. $file = md5($url);
  20. if(!file_exists($file)){
  21. $handle = fopen($file,'w+');
  22. fwrite($handle,$result);
  23. fclose($handle);
  24. }
  25.  
  26. return $file;
  27. }
  28.  
  29. // Selecionamos una al azar...
  30. $azar = rand(0,count($_GET['imagen'])-1);
  31. $imagen = $_GET['imagen'][$azar];
  32.  
  33. if(end(explode('.',$imagen))!=='png'){ die('La imagen no parece ser un PNG'); }
  34. $imagen = writeFile($imagen);
  35.  
  36. $im = imagecreatefrompng($imagen);
  37. if(!$im){ die('No se ha podido obtener la imagen'); }
  38.  
  39. header('Content-Type: image/png');
  40. imagepng($im);
  41.  
  42. @unlink($imagen);
  43. die();
  44.  
  45. ?>


PD: Ya no puedes decir que es del hosting...



Saludos


Título: Re: firma ip
Publicado por: CancerNegro en 25 Junio 2014, 23:31 pm
Código
  1. <?php
  2.  
  3. if(!isset($_GET['imagen'])){ die('No se han enviado imagenes'); }
  4.  
  5.  
  6. function writeFile($url){
  7. if(!function_exists('curl_init')){ die('CURL no esta disponible'); }
  8. $ch = curl_init();
  9. curl_setopt ($ch, CURLOPT_URL, $url);
  10. curl_setopt ($ch, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)');
  11. curl_setopt ($ch, CURLOPT_TIMEOUT, 60);
  12. curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1);
  13. curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
  14. curl_setopt ($ch, CURLOPT_REFERER,$url);
  15. $result = curl_exec ($ch);
  16.  
  17. if(!$result){ die('No se puede obtener contenido de la url proporcionada'); }
  18.  
  19. $file = md5($url);
  20. if(!file_exists($file)){
  21. $handle = fopen($file,'w+');
  22. fwrite($handle,$result);
  23. fclose($handle);
  24. }
  25.  
  26. return $file;
  27. }
  28.  
  29. // Selecionamos una al azar...
  30. $azar = rand(0,count($_GET['imagen'])-1);
  31. $imagen = $_GET['imagen'][$azar];
  32.  
  33. if(end(explode('.',$imagen))!=='png'){ die('La imagen no parece ser un PNG'); }
  34. $imagen = writeFile($imagen);
  35.  
  36. $im = imagecreatefrompng($imagen);
  37. if(!$im){ die('No se ha podido obtener la imagen'); }
  38.  
  39. header('Content-Type: image/png');
  40. imagepng($im);
  41.  
  42. @unlink($imagen);
  43. die();
  44.  
  45. ?>


PD: Ya no puedes decir que es del hosting...



Saludos

Maravilloso bro, ahora funca con esta curl.
ahora anda saber como se la meto la ip y texto xd


Título: Re: firma ip
Publicado por: CancerNegro en 26 Junio 2014, 07:40 am
Sobre la ip tendria que usar

$_SERVER['REMOTE_ADDR']

si la uso con la firma seria asi? ¿no?

Código
  1. if ($_SERVER["HTTP_X_FORWARDED_FOR"]){
  2. $ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
  3. }else{
  4. $ip = $_SERVER["REMOTE_ADDR"];
  5. }
  6. $ip = explode(",", $ip);
  7. $ip = "Tu IP ES:".$ip[0];
  8.  
  9. y el texto todavia no se como ponerlo
  10. lo que logre hacer es un texto
  11.  
  12. $id = $_GET['id'];
  13. $nombre = ''.$id.''.$formato.'';
  14. $fuente = 'Coupe-Bold.otf';  
  15. $color= imagecolorallocate($imagen,255,255,255);  
  16.  
  17. imagefttext($imagen, 21, 0, 130, 100, $color, $fuente, $id);
  18.  
  19. imagejpeg($imagen);
  20. imagesavealpha($imagen, true);
  21. imagejpeg($imagen, $nombre, 100);


EL problema es como se lo pongo al este codigo? sin que se pierda la rotacion de imagenes


Título: Re: firma ip
Publicado por: asesino-de-hackers en 26 Junio 2014, 09:55 am
Hola a todos  :D

no me lo lei todo pero en mi opinion de porque se hizo largo es..

1. el usuario engel lex no tuvo la mas minima idea de como implementarlo desde el inicio del tema.
2. los errores de contextos.

veo que tambien tenia algo que ver el servidor donde se alojaba los formatos.
re: todos los servidores tienen la version mas actualizada del php, el problema fue las variables get no fueron definidas y eso probocaba el error.

Nunca encontraras un servidor con una version vieja  :D

muy basico.

llamada de la variable.

Código
  1. name="imagen1"

el error es..

Código
  1. name="imagen[]"

en el otro lado del php

Código
  1. $_GET['imagen']

no esta la variable definida por que en su formulario no tiene la llamada.
se nota la diferencia.

Código
  1. $_GET['imagen1']

error grave

Código
  1. if(!$imagen)


como le vas a dejar porque son ambas donde llaman hacia el get.



de igual manera te dejo bien el código cURL.
pero si arreglas el codigo que te pasaron que estaba mal, te funcionara probalo.

¿ahora le queres poner la ip y el texto?

Código
  1. imagejpeg($imagen);
  2. imagesavealpha($imagen, true);
  3. imagejpeg($imagen, $nombre, 100);

porque le pones imagejpeg si estas usando imagenes png

el codigo que dejastes

Código
  1. if ($_SERVER["HTTP_X_FORWARDED_FOR"]){
  2. $ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
  3. }else{
  4. $ip = $_SERVER["REMOTE_ADDR"];
  5. }
  6. $ip = explode(",", $ip);
  7. $ip = "Tu IP ES:".$ip[0];

si lo pones en el codigo que te dejo #!drvy
nunca te va a funcionar por ya nombro la variable en el if
debes hacerla con el codigo anterior.
tenes que usarla tambien para tu texto que quieras poner.

Código
  1. imagefttext($imagen, 21, 0, 130, 100, $ip, $color, $fuente, $id);

PD: No tiren códigos sin haberlos previamente probado ;D

Saludos!


Título: Re: firma ip
Publicado por: #!drvy en 26 Junio 2014, 15:04 pm
re: todos los servidores tienen la version mas actualizada del php, el problema fue las variables get no fueron definidas y eso probocaba el error.

Veamos, la current stable de php es 5.5.13
http://es1.php.net/downloads.php

Mi antiguo host (http://drvydev.com/phpinfo.php), opina lo contrario. Utiliza una versión de PHP stable 5.3.28 , del 2013..

El host que usa (http://dmtest2.eshost.es/phpinfo.php) CancerNegro usa la estable 5.4.26 ...

¿seguro que todos tienen la version mas actualizada ?


muy basico.

llamada de la variable.

Código
  1. name="imagen1"

el error es..

Código
  1. name="imagen[]"

en el otro lado del php

Código
  1. $_GET['imagen']

no esta la variable definida por que en su formulario no tiene la llamada.
se nota la diferencia.

Código
  1. $_GET['imagen1']

Campeón, ¿Por que no pruebas esto en tu servidor super-actualizado y ves lo que te da ?

Código
  1. <?php
  2.  
  3. if(isset($_GET['texto'])){
  4. echo '<pre>';
  5. print_r($_GET['texto']);
  6. die();
  7. }
  8.  
  9. ?>
  10.  
  11. <form action="" method="GET">
  12. <input type="text" name="texto[]" value="Soy noob" /><br />
  13. <input type="text" name="texto[]" value="No se usar arrays en inputs" /><br />
  14. <input type="text" name="texto[]" value="y lo voy contando por ahi" /><br />
  15. <input type="submit" value="enviar"/>
  16. </form>

error grave

Código
  1. if(!$imagen)


como le vas a dejar porque son ambas donde llaman hacia el get.

Ein ?  Donde has visto eso ? xD


el codigo que dejastes

Código
  1. if ($_SERVER["HTTP_X_FORWARDED_FOR"]){
  2. $ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
  3. }else{
  4. $ip = $_SERVER["REMOTE_ADDR"];
  5. }
  6. $ip = explode(",", $ip);
  7. $ip = "Tu IP ES:".$ip[0];

si lo pones en el codigo que te dejo #!drvy
nunca te va a funcionar por ya nombro la variable en el if
debes hacerla con el codigo anterior.
tenes que usarla tambien para tu texto que quieras poner.

Debe hacerla con el codigo anterior solo porque la variable esta declarada ? No puede cambiar el nombre a la variable ? Acaso el codigo es read-only ?

PD: No tiren códigos sin haberlos previamente probado

Aplícate el cuento, campeón =)



CancerNegro, deja de hacer copy/paste y estudia un poco lo que estas haciendo. 7 paginas para nada...

Saludos