Capturar acción "Hacer clic en botón atrás del navegador"

1,569 views
Skip to first unread message

jordicakephp

unread,
Nov 4, 2008, 5:08:51 AM11/4/08
to CakePHP en Español
Hi again,

Pues eso, ¿cómo se captura "el hacer clic en el botón atrás del
navegador"? Finalmente implementé el alta de los usuarios, y, ahora
que los tengo, pueden acceder a una zona privada. Sucede una cosa:
efectivamente pueden entrar en esta zona privada y navegar en ella,
pero, si a un usuario se le ocurre darle al botón atras varias veces,
llega un momento en que sale de la zona privada pero sigue
manteniéndose la sesión.

Yo quiero destruir la sesión cuando el usuario hace clic en la primera
pantalla de la zona privada: ¿os imagináis que hace esto en un lugar
público, como un ciber-café? En este caso la sesión no está destruida
y la experiencia del usuario es como haber salido de la zona privada.
Espero haberme explicado.

Un saludo!

Fran Iglesias

unread,
Nov 4, 2008, 6:04:47 AM11/4/08
to cakep...@googlegroups.com
No estoy seguro, pero creo que aquí te podría ayudar algo de Javascript.

El 04/11/2008, a las 11:08, jordicakephp escribió:

> Yo quiero destruir la sesión cuando el usuario hace clic en la primera
> pantalla de la zona privada: ¿os imagináis que hace esto en un lugar
> público, como un ciber-café? En este caso la sesión no está destruida
> y la experiencia del usuario es como haber salido de la zona privada.
> Espero haberme explicado.

--
Fran Iglesias
fra...@buabua.com


Ricardo Mun~oz A.

unread,
Nov 4, 2008, 8:33:38 AM11/4/08
to cakep...@googlegroups.com
2008/11/4 jordicakephp <jordic...@gmail.com>:

podrias darle un timeout de muy pocos minutos a la sesion, ver
opciones Session.timeout y Security.level.

--
Ricardo Mun~oz A.

jordicakephp

unread,
Nov 4, 2008, 9:15:19 AM11/4/08
to CakePHP en Español
Gracias Ricardo,

No se me había ocurrido y lo miraré. De todas formas... ¿puede
capturarse este evento? No sé si esta idea es muy descabellada, o se
puede hacer. Muchas gracias y saludos

Jordi

On 4 nov, 14:33, "Ricardo Mun~oz A." <ricard...@gmail.com> wrote:
> 2008/11/4 jordicakephp <jordicake...@gmail.com>:
> Ricardo Mun~oz A.- Ocultar texto de la cita -
>
> - Mostrar texto de la cita -

david hc

unread,
Nov 4, 2008, 9:24:46 AM11/4/08
to cakep...@googlegroups.com
No parece muy buena idea basar la seguridad de tu sitio web en la
captura de un evento javascript... Basta con deshabilitar javascript
en tu navegador para que todas las validaciones que hagas en cliente
(js) no sirvan de nada.

2008/11/4 jordicakephp <jordic...@gmail.com>:

Ricardo Mun~oz A.

unread,
Nov 4, 2008, 9:40:02 AM11/4/08
to cakep...@googlegroups.com
2008/11/4 jordicakephp <jordic...@gmail.com>:

>
> Gracias Ricardo,
>
> No se me había ocurrido y lo miraré. De todas formas... ¿puede
> capturarse este evento? No sé si esta idea es muy descabellada, o se
> puede hacer. Muchas gracias y saludos

si revisas lo que San Google tiene al respecto [1] te podras dar
cuenta de que no hay una forma "simple" de capturar ese evento, esta
explicacion lo resume muy bien:

"The Back button belongs to the user, not to you. You have no right to
disable it, since it might be the only way the user has to return to
the page he came from to get to your page."

piensa que la seguridad de tu aplicacion solo la puedes controlar en
el lado del servidor, es decir usando PHP. quizas tu aplicacion
deberia ser 100% una zona privada/segura, asi tienes un problema
menos... y tambien trata de usar HTTPS, sobre todo si le temes a los
cibercafes...

[1] http://www.google.com/search?q=javascript+intercept+back+button

--
Ricardo Mun~oz A.

jordicakephp

unread,
Nov 4, 2008, 12:18:38 PM11/4/08
to CakePHP en Español
Gracias Ricardo,

Desde mi humilde experiencia, tengo la impresión de que HTTPS es una
solución bastante radical para este proyecto, por decirlo así. Según
tengo entendido, HTTPS debería usarse en transacciones que realmente
lo necesiten, como la transferencia de datos bancarios, por ejemplo.
Además, creo que también digo esto porque no sé implementar HTTPS en
PHP. Creo que podría crear los certificados con OpenSSL, pero no
sabría armarlo en PHP. ¿Algún tutorial que esté bien y que trate el
tema?

Gracias y saludos.

Jordi

On 4 nov, 15:40, "Ricardo Mun~oz A." <ricard...@gmail.com> wrote:
> 2008/11/4 jordicakephp <jordicake...@gmail.com>:
>
>
>

Ricardo Mun~oz A.

unread,
Nov 4, 2008, 12:28:19 PM11/4/08
to cakep...@googlegroups.com
2008/11/4 jordicakephp <jordic...@gmail.com>:

>
> Gracias Ricardo,
>
> Desde mi humilde experiencia, tengo la impresión de que HTTPS es una
> solución bastante radical para este proyecto, por decirlo así. Según
> tengo entendido, HTTPS debería usarse en transacciones que realmente
> lo necesiten, como la transferencia de datos bancarios, por ejemplo.
> Además, creo que también digo esto porque no sé implementar HTTPS en
> PHP. Creo que podría crear los certificados con OpenSSL, pero no
> sabría armarlo en PHP. ¿Algún tutorial que esté bien y que trate el
> tema?

PHP y HTTPS no tienen relacion por lo que no vas a encontrar ningun
tutorial al respecto. HTTPS es el protocolo usado entre el servidor
web y el navegador del usuario, esto una vez que el PHP haya terminado
de generar el contenido solicitado.

acerca de (no) usar HTTPS, si te preocupa lo que le pueda pasar a la
aplicacion y/o los datos del usuario en un cibercafe, imaginate lo
facil que es capturar el trafico HTTP (texto plano) en una red...

--
Ricardo Mun~oz A.

Reply all
Reply to author
Forward
0 new messages