elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  Refrescar un php desde otro php
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Refrescar un php desde otro php  (Leído 5,025 veces)
schumacher

Desconectado Desconectado

Mensajes: 57


Avalon^^


Ver Perfil
Refrescar un php desde otro php
« en: 2 Octubre 2008, 07:28 am »

buenas
...estoy armando un login, con un captcha
...cada uno en un php distinto (digamos login.php, captcha.php)
...y lo que intento es que cada vez que le doy click encima de la imagen que me genera, esta se refresque y me aparezca un codigo nuevo...
...espiando por ahi me di con esto
<img src="captcha.php" onclick="this.src='captcha.php?newtime=' + (new Date()).getTime();"/>
...pero la verdad recien empiezo con todo esto del php, es el primer dia ^^
...eso quiere decir que dentro de captcha tengo que generar algo mas? y no se como resolverlo aun...

si alguien me puede guiar se lo agradeceria^^

saludos!


En línea

Red Mx
Rojito
Colaborador
***
Desconectado Desconectado

Mensajes: 3.649


Viva México Cabrones...


Ver Perfil WWW
Re: Refrescar un php desde otro php
« Respuesta #1 en: 2 Octubre 2008, 08:02 am »

es ajax pero veo que seria complicado lo mejor es que refresques la web completa y asi su capcha tendra unaimagen diferente.


En línea

Desarrollar Malware Es Causa De Cancer...
schumacher

Desconectado Desconectado

Mensajes: 57


Avalon^^


Ver Perfil
Re: Refrescar un php desde otro php
« Respuesta #2 en: 2 Octubre 2008, 15:37 pm »

mmm.. ya veo
...entonces como podria refrescar la pagina desde el php?, es decir cual es el code >.<
...estuve buscando pero no encontre algo que se acomode o que pueda entender

...osea un boton, le doy click y se refresca la pagina ^^

saludos
En línea

WHK
Moderador Global
***
Desconectado Desconectado

Mensajes: 6.606


Sin conocimiento no hay espíritu


Ver Perfil WWW
Re: Refrescar un php desde otro php
« Respuesta #3 en: 2 Octubre 2008, 16:39 pm »

No es ajax, simplemente esa función que pusiste dice que al hacer click sobre la imagen esta se reemplazará por la imagen que aparezca en esta url:

captcha.php?newtime= + (new Date()).getTime()

Donde newtime es un identificador de la captcha pero eso sería muy manipulable por un atacante asi que te recomiendo que uses sesiones con session start y cookies.

cuando haces una petición a captcha.php dejas en una base de datos el hash que debes responder y si respondes a loguin.php con ese mismo hash que estaba en la base de datyos entonces puedes ingresar, cuando refrescas la imagen el hash se modifica con UPDATE dentro de la MySQL ovbiamente ese hash sería el resultado de la imagen, o también puedes alojar la respuesta dentro de la cookie pero con $_SESSION[] para que el visitante no pueda modificarlo.

Cuando buelva del trabajo haré algunos ejemplos.
En línea

schumacher

Desconectado Desconectado

Mensajes: 57


Avalon^^


Ver Perfil
Re: Refrescar un php desde otro php
« Respuesta #4 en: 3 Octubre 2008, 03:20 am »

...oh talvez solo hay un codigo como en visual basic
...algo asi "pagina1.refresh" jejejeje
En línea

WHK
Moderador Global
***
Desconectado Desconectado

Mensajes: 6.606


Sin conocimiento no hay espíritu


Ver Perfil WWW
Re: Refrescar un php desde otro php
« Respuesta #5 en: 3 Octubre 2008, 05:15 am »

Algo así está bién?
Demo:
http://lab.jccharry.com/seguridad_web_doc/captcha1.php

Código
  1. <?php
  2. if($_GET['accion'] == 'captcha'){
  3. header("Content-type: image/png");
  4. if(!$imagen = imagecreate(100, 50)){
  5.  echo "No se puede inicializar el m&oacute;dulo GD";
  6.  exit(1);
  7. }
  8. $_SESSION['clave'] = md5(rand(1,100));
  9. $_SESSION['clave'] = substr($_SESSION['clave'], 0, 6);
  10. imagecolorallocate($imagen, 255, 255, 255);
  11. $color_texto = imagecolorallocate($imagen, 0, 0, 0);
  12. imagestring($imagen, 12, 5, 5,  $_SESSION['clave'], $color_texto);
  13. imagepng($imagen);
  14. imagedestroy($imagen);
  15. exit(0);
  16. }else{
  17. if($_POST['clave']){
  18.  if(strtolower($_SESSION['clave']) == strtolower($_POST['clave'])){
  19.   $estado = "La clave es v&aacute;lida";
  20.  }else{
  21.   $estado = "La clave es inv&aacute;lida";
  22.  }
  23. }else{
  24.  $estado = "Sin acciones";
  25. }
  26. }
  27. ?>
  28. <html>
  29. <head>
  30. </head>
  31. <body>
  32. <b>Ingresa el siguiente c&oacute;digo:<br>
  33. <img  src="<?php echo $_SERVER[PHP_SELF]; ?>?accion=captcha"
  34. onclick="this.src='<?php echo $_SERVER[PHP_SELF]; ?>?accion=captcha';" /><br>
  35. <form method="post">
  36. <input type="text" name="clave"> <input type="submit" value="Enviar">
  37. </form>
  38. <br><br>
  39. Estado: <b><?php echo $estado; ?></b>
  40. </body>
  41. </html>

El único detalle es que la función ... onclick="this.src ... solo funciona en Internet Explorer.
En línea

Red Mx
Rojito
Colaborador
***
Desconectado Desconectado

Mensajes: 3.649


Viva México Cabrones...


Ver Perfil WWW
Re: Refrescar un php desde otro php
« Respuesta #6 en: 3 Octubre 2008, 05:24 am »

No es ajax

No pienso discutir el termino.

Citar
AJAX, acrónimo de Asynchronous javascript And XML (javascript asíncrono y XML), es una técnica de desarrollo web para crear aplicaciones interactivas o RIA (Rich Internet Applications). Estas aplicaciones se ejecutan en el cliente, es decir, en el navegador de los usuarios mientras se mantiene la comunicación asíncrona con el servidor en segundo plano. De esta forma es posible realizar cambios sobre las páginas sin necesidad de recargarlas, lo que significa aumentar la interactividad, velocidad y usabilidad en las aplicaciones.


Para mi gusto no puedes poner funciones que funcionen en un explorador y en otro no, debes de llebar la compatibilidad basada en estandares.


En línea

Desarrollar Malware Es Causa De Cancer...
WHK
Moderador Global
***
Desconectado Desconectado

Mensajes: 6.606


Sin conocimiento no hay espíritu


Ver Perfil WWW
Re: Refrescar un php desde otro php
« Respuesta #7 en: 3 Octubre 2008, 05:28 am »

Citar
Para mi gusto no puedes poner funciones que funcionen en un explorador y en otro no, debes de llebar la compatibilidad basada en estandares.

Claro, me podrías decir como hacerlo en ambos exploradores?
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Refrescar un formulario en C#
.NET (C#, VB.NET, ASP)
Azuela 4 18,737 Último mensaje 2 Marzo 2012, 02:55 am
por Azuela
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines