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

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  [Pregunta]: ¿Como saben ustedes si una persona inicio sesión?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Pregunta]: ¿Como saben ustedes si una persona inicio sesión?  (Leído 3,324 veces)
Leguim


Desconectado Desconectado

Mensajes: 720



Ver Perfil
[Pregunta]: ¿Como saben ustedes si una persona inicio sesión?
« en: 2 Enero 2020, 19:18 pm »

Buenos días,

yo lo hago usando
Código
  1. if(isset($_SESSION['id_user']))
  2. {
  3.     echo "Sesión iniciada.";
  4. }
  5. else
  6. {
  7.     echo "Sesión no iniciada.";
  8. }
  9.  

Generalmente creo que se hace así, pero nose me parecia algo simple hacerlo así... ¿ustedes como lo hacen?


En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: [Pregunta]: ¿Como saben ustedes si una persona inicio sesión?
« Respuesta #1 en: 2 Enero 2020, 19:23 pm »

basicamente eso... no hay mucha mas complejidad ya que son variables de servidor


En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
Leguim


Desconectado Desconectado

Mensajes: 720



Ver Perfil
Re: [Pregunta]: ¿Como saben ustedes si una persona inicio sesión?
« Respuesta #2 en: 2 Enero 2020, 19:58 pm »

Ah okay gracias!
En línea

MinusFour
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.529


I'm fourth.


Ver Perfil WWW
Re: [Pregunta]: ¿Como saben ustedes si una persona inicio sesión?
« Respuesta #3 en: 2 Enero 2020, 20:30 pm »

La superglobal $_SESSION se llena solo cuando se inicia una session. Si tu tienes sesiones anónimas de manera que marcar un campo en la superglobal de $_SESSION lo consideras que la sesión ha sido autentificada entonces lo que haces funciona.

Pero si creas la sesión solo cuando el usuario se autentifica, lo correcto es usar session_status. Esto te permite revisar si hay una sesión existente antes de usar session_start (que es la que popula $_SESSION).
« Última modificación: 2 Enero 2020, 20:31 pm por MinusFour » En línea

@XSStringManolo
Hacker/Programador
Colaborador
***
Desconectado Desconectado

Mensajes: 2.399


Turn off the red ligth


Ver Perfil WWW
Re: [Pregunta]: ¿Como saben ustedes si una persona inicio sesión?
« Respuesta #4 en: 2 Enero 2020, 23:42 pm »

Buenos días,

yo lo hago usando
Código
  1. if(isset($_SESSION['id_user']))
  2. {
  3.     echo "Sesión iniciada.";
  4. }
  5. else
  6. {
  7.     echo "Sesión no iniciada.";
  8. }
  9.  

Generalmente creo que se hace así, pero nose me parecia algo simple hacerlo así... ¿ustedes como lo hacen?
No hay que complicar las cosas sencillas, hay que simplificar las complejas.

Si has copiado de ejemplos por ahí que no entiendes al 100% pero que funcionan bien, son eses por los que se debe preguntar. Se aprende mucho mirando código de otros.
En línea

Mi perfil de patrocinadores de GitHub está activo! Puedes patrocinarme para apoyar mi trabajo de código abierto 💖

Leguim


Desconectado Desconectado

Mensajes: 720



Ver Perfil
Re: [Pregunta]: ¿Como saben ustedes si una persona inicio sesión?
« Respuesta #5 en: 4 Enero 2020, 22:44 pm »

La superglobal $_SESSION se llena solo cuando se inicia una session. Si tu tienes sesiones anónimas de manera que marcar un campo en la superglobal de $_SESSION lo consideras que la sesión ha sido autentificada entonces lo que haces funciona.

Pero si creas la sesión solo cuando el usuario se autentifica, lo correcto es usar session_status. Esto te permite revisar si hay una sesión existente antes de usar session_start (que es la que popula $_SESSION).

Lo hago así
Código
  1. // Si el email y la contraseña son correctas
  2. if(!isset($_SESSION['id_user']))
  3. {
  4. $_SESSION['id_user'] = $x;
  5. }
  6.  
  7. [Mando a otra pagina a el usuario]
  8. // Si el usuario sale "logout"
  9. if(isset($_SESSION['id_user']))
  10. {
  11.        unset($_SESSION['id_user']);
  12.        session_destroy();
  13. }
  14.  

Esta forma es valida? segura?
En línea

@XSStringManolo
Hacker/Programador
Colaborador
***
Desconectado Desconectado

Mensajes: 2.399


Turn off the red ligth


Ver Perfil WWW
Re: [Pregunta]: ¿Como saben ustedes si una persona inicio sesión?
« Respuesta #6 en: 5 Enero 2020, 00:56 am »

Lo hago así
Código
  1. // Si el email y la contraseña son correctas
  2. if(!isset($_SESSION['id_user']))
  3. {
  4. $_SESSION['id_user'] = $x;
  5. }
  6.  
  7. [Mando a otra pagina a el usuario]
  8. // Si el usuario sale "logout"
  9. if(isset($_SESSION['id_user']))
  10. {
  11.        unset($_SESSION['id_user']);
  12.        session_destroy();
  13. }
  14.  

Esta forma es valida? segura?
Tienes parseado el nombre de usuario y el email del lado del servidor para evitar overflows, Path Trasversal, Inyecciones SQL, Inyecciones HTML, Inyecciones PHP, Inyecciones de comandos, Stored y Reflected XSS, NullBytes, Response Spliting,  CSRF y SSRF entre otros? Haces algo del lado del cliente para proteger ante DOM XSS, phishing, clickjacking, sameOrigen? Mandas las cabeceras adecuadas? Sirves data sensible por HTTP? Mandas la página de login por HTTPS o das alguna forma al cliente de validar que está en tu sitio? No hay ningún tipo de leaks? Compruebas que solo se usen caracteres alfanumerícos en el servidor para evitar ofuscación de código malicioso? Obligas a los usuarios a elegir contraseñas seguras? Manejas los códigos de errores y los leaks relacionados? Tiene alguna contramedida por si el recaptcha en algún momento puntual no se pudiese cargar? Qué tipo de mecanismo usas para recuperar una contraseña olvidada? Evitas que las cookies puedan ser accedidas desde javascript? Compruebas que no existan 2 nombres de usuario iguales? Te cargas la url de validación para que no sea usada múltiples veces por un usuario para registrar múltiples cuentas? Te aseguras que no se envían y no se hacen consultas con parámetros vacios? Tiras excepciones y manejas errores en todas las fases de loggeo para dar marcha atrás si se detecta algún fallo o que pasa si surge algún error inesperado? Das algún tipo de salida de errores en estos casos que pueda revelar información? Tienes logs para controlar lo que pasa en la aplicación? Loggeas información sensible como tokens, sessiones, etc? Tienes algún sistema de monitoreo para poder estar al tanto si recibes algún tipo de ataque para poder responder? Avisas a los usuarios de sus loggeos y de intentos de adivinar contraseñas...

 En vez andar dando tumbos y aprender por la muy malas, podrías pasarte por el foro de dudas generales y hecharle un ojo a los libros para principiantes. También hay libros por ahí enfocados a la seguridad en el desarrollo web.
En línea

Mi perfil de patrocinadores de GitHub está activo! Puedes patrocinarme para apoyar mi trabajo de código abierto 💖

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Como hacer inicio de sesion
PHP
¡Micronet! 8 8,021 Último mensaje 21 Abril 2012, 18:49 pm
por ¡Micronet!
[Pregunta] Inicio de Sesion y subir imagenes en php a mysqli
PHP
Victor26 1 1,948 Último mensaje 3 Diciembre 2019, 23:45 pm
por MetaNoia
[Pregunta]: Problema con las sesión en el hosting
Desarrollo Web
Leguim 4 3,831 Último mensaje 26 Diciembre 2021, 02:19 am
por Leguim
¿Ustedes cómo se organizan con sus proyectos?
Dudas Generales
Tachikomaia 1 2,040 Último mensaje 22 Agosto 2023, 15:32 pm
por Danielㅤ
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines