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

 

 


Tema destacado: Security Series.XSS. [Cross Site Scripting]


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  [Pregunta]: Sugerencias (Optimizar)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Pregunta]: Sugerencias (Optimizar)  (Leído 2,054 veces)
Leguim


Desconectado Desconectado

Mensajes: 720



Ver Perfil
[Pregunta]: Sugerencias (Optimizar)
« en: 2 Octubre 2019, 09:12 am »

Buenas noches,
cada vez que se carga una pagina lo que hago es verificar que dicho usuario tenga el email verificado en el caso de que no lo tenga lo enviará a x pagina...
Lo hago de la siguiente manera

Código
  1. if(users::Check_Email_Verified($_SESSION['id_user']) == false)
  2. {
  3. ?>
  4.     <script type="text/javascript">
  5.        window.location.href = 'verify_email';
  6.        </script>
  7.        <?php
  8. }
  9.  

retorna false si dicho usuario no tiene el correo verificado
retorna true si dicho usuario tiene el correo verificado

Código
  1.        function Check_Email_Verified($id_user)
  2. {
  3. $con = Connection('root', '');
  4. $query = $con->prepare('SELECT (email_verified) FROM usuarios WHERE id_user = :id_user');
  5. $query->execute(array(':id_user' => $id_user));
  6. $results = $query->fetchAll();
  7.  
  8. $result = false;
  9.  
  10. if(!empty($results))
  11. {
  12. if($results[0]['email_verified'] == 1)
  13. {
  14. $result = true;
  15. }
  16. }
  17.  
  18. return $result;
  19. }
  20.  

La alternativa que tenia en mente sería usar una $_SESSION

Código
  1. if($_SESSION['email_verified'] == false)
  2. {
  3.     [Redirige a x pagina]
  4. }
  5.  

No sabría cual debería usar si como lo hago hasta ahora realizando consultas o con una $_SESSION.

¿Cual podría ser la forma más segura y optima de hacer esto?

Muchas gracias


« Última modificación: 15 Octubre 2019, 10:54 am por #!drvy » En línea

#!drvy
Moderador
***
Desconectado Desconectado

Mensajes: 5.855



Ver Perfil WWW
Re: [Pregunta]: Sugerencias (Optimizar)
« Respuesta #1 en: 15 Octubre 2019, 10:59 am »

Yo lo que haría es que cada vez que se carga una página, se construya una sesión con los datos del usuario (nombre, fechas, correo verificado etc) y ahí dentro ya compruebas si el usuario tiene verificado o no el correo.

Además, te recomiendo que en vez de redirigir por javascript, uses cabeceras HTTP y mates la ejecución del resto del código pues le estas dando la oportunidad al usuario de ejecutar otras acciones sin antes de redirigirlo.

Código
  1. if ($_SESSION['current_user']['email_verified'] != true) {
  2.    header('Location: http://blabla.com/verifica-tu-correo');
  3.    exit;
  4. }

Saludos


En línea

Leguim


Desconectado Desconectado

Mensajes: 720



Ver Perfil
Re: [Pregunta]: Sugerencias (Optimizar)
« Respuesta #2 en: 16 Octubre 2019, 22:58 pm »

Yo lo que haría es que cada vez que se carga una página, se construya una sesión con los datos del usuario (nombre, fechas, correo verificado etc) y ahí dentro ya compruebas si el usuario tiene verificado o no el correo.

Además, te recomiendo que en vez de redirigir por javascript, uses cabeceras HTTP y mates la ejecución del resto del código pues le estas dando la oportunidad al usuario de ejecutar otras acciones sin antes de redirigirlo.

Código
  1. if ($_SESSION['current_user']['email_verified'] != true) {
  2.    header('Location: http://blabla.com/verifica-tu-correo');
  3.    exit;
  4. }

Saludos

¡Muchas gracias!
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Pregunta (MOVIDO de Sugerencias) « 1 2 »
Ingeniería Inversa
mapejorge 13 6,339 Último mensaje 16 Diciembre 2007, 13:00 pm
por Shaddy
[Pregunta]: Escucho sugerencias (Validar email)
Desarrollo Web
Leguim 5 2,466 Último mensaje 1 Octubre 2019, 19:18 pm
por #!drvy
[Pregunta]: Escucho sugerencias (Validar email) PARTE 2
Desarrollo Web
Leguim 2 2,021 Último mensaje 2 Octubre 2019, 05:28 am
por Leguim
[Pregunta]: Aplicación tiempo real (Sugerencias)
Desarrollo Web
Leguim 3 3,483 Último mensaje 10 Octubre 2019, 03:01 am
por MinusFour
[Pregunta]: Optimizar tabla notificaciones.
Desarrollo Web
Leguim 1 2,502 Último mensaje 21 Mayo 2021, 13:35 pm
por Serapis
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines