Autor
|
Tema: Refrescar un php desde otro php (Leído 5,009 veces)
|
schumacher
Desconectado
Mensajes: 57
Avalon^^
|
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
Mensajes: 3.649
Viva México Cabrones...
|
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
Mensajes: 57
Avalon^^
|
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
|
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
Mensajes: 57
Avalon^^
|
...oh talvez solo hay un codigo como en visual basic ...algo asi "pagina1.refresh" jejejeje
|
|
|
En línea
|
|
|
|
WHK
|
Algo así está bién? Demo: http://lab.jccharry.com/seguridad_web_doc/captcha1.php<?php if($_GET['accion'] == 'captcha'){ header("Content-type: image/png"); echo "No se puede inicializar el módulo GD"; } $_SESSION['clave'] = md5(rand(1,100)); $_SESSION['clave'] = substr($_SESSION['clave'], 0, 6); imagestring($imagen, 12, 5, 5, $_SESSION['clave'], $color_texto); }else{ if($_POST['clave']){ $estado = "La clave es válida"; }else{ $estado = "La clave es inválida"; } }else{ $estado = "Sin acciones"; } } ?> <html> <head> </head> <body> <b>Ingresa el siguiente código:<br> <img src="<?php echo $_SERVER[PHP_SELF]; ?>?accion=captcha" onclick="this.src='<?php echo $_SERVER[PHP_SELF]; ?>?accion=captcha';" /><br> <form method="post"> <input type="text" name="clave"> <input type="submit" value="Enviar"> </form> <br><br> Estado: <b><?php echo $estado; ?></b> </body> </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
Mensajes: 3.649
Viva México Cabrones...
|
No es ajax No pienso discutir el termino. 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
|
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
|
|
|
|
|
|