Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/02/2012, 09:18
pato_cuack
 
Fecha de Ingreso: enero-2012
Ubicación: En una casa
Mensajes: 72
Antigüedad: 12 años, 4 meses
Puntos: 2
Información [Aporte] No permitir acceso a contenido usuarios.


Hola personas

Ayer estuve nadando en el Foro y encontré algunos problemas que se nos da a muchos cuando queremos restringir el acceso a determinado contenido de nuestra WEB.

Para empezar, este aporte lo hago con base a mis conocimientos que son poquitos pero con creatividad todo se puede, hay que recordar que la vida del programador está enfocada al método prueba y error, prueba y error...

Basándome en una experiencia recientemente vivida que es: Tengo una página inicial dónde los usuarios se registran o ingresan al contenido para usuarios, inicio mi sesión de usuario y me redirijo al contenido para usuarios.

Hasta ahí creo que todos entendemos. Llega un punto dónde quiero cerrar la sesión ya iniciada... ya sabemos que con: Pero en muchas ocasiones algo nos falla y es que al presionar la tecla back o la tecla de borrar, incluso ingresando la url de nuestra página "premium" o privada, nos redirige y nos muestra nuestra sesión aún activa y todo su contenido; esto resulta incomodo ya que claro, quieres que si se cierra la sesión ps se termine todo y chaito.

Para algunos que no somos monsters programando ya sea porque aún estamos aprendiendo o determinada situación... no tenemos ni idea de cómo solucionar esto, pues acá les entrego una practica y sencilla solución desde nuestro adorado php:

Código PHP:
Ver original
  1. <?
  2. $ese = session_start();
  3. include('conexion.php');
  4. if ($_SESSION != $ese){
  5. echo "<script>
  6. alert('Por favor ingrese nuevamente');
  7. parent.location.href='Nuestra página principal ó página de visita';
  8. </script>
  9. ";
  10. }else{
  11. $ese == $_SESSION;
  12. }
  13. ?>

Explicaré un poquito cómo sirve este script, ya vemos que siempre tenemos que mantener la sesión en todas la páginas que visiten nuestros usuarios, por esto al hacer back o ingresar la url nos va a mostrar nuestra sesión activa.

Qué hacemos acá, pues fácil, en una variable almacenamos nuestra session_start();, después declaramos el if que revisará que haya una sesión activa, de esta manera si la encuentra, nos dejará acceder si no la encuentra pues nos mostrará un mensaje mediante javascript, que pide al usuario que por favor ingrese nuevamente y lo redirige a traves del parent.location a la página de acceso y ya, eso es todo.

Claro... Este script debe declararse antes de cualquier cosa en la página privada o de contenido único para usuarios, ya que si se declara en otro lado, pues bloqueará esa página, y obvio siempre de primeras ya que el código es interpretado de arriba para abajo.
---->
---->


Bueno espero que esto le sirva a alguien en especial a los novel como yo, que han tenido problemas con esto alguna vez.

Cualquier corrección, modificación o aporte es bienvenid@.

__________________
Aprendo, Aprendo Aprendo :D A la filosofía de Golden Boy ^^,
Desarrollo Web en Colombia

Última edición por pato_cuack; 22/02/2012 a las 09:27