Foros del Web » Programando para Internet » PHP »

Sistema de Acceso Seguro: Sirve $_SESSION

Estas en el tema de Sistema de Acceso Seguro: Sirve $_SESSION en el foro de PHP en Foros del Web. Hola Tengo que desarrollar un sistema de seguridad con PHP. Yo hasta el momento venia utilizando las variables de PHP $_SESSION pero no se que ...
  #1 (permalink)  
Antiguo 15/01/2010, 14:14
PanuWeb
Invitado
 
Mensajes: n/a
Puntos:
De acuerdo Sistema de Acceso Seguro: Sirve $_SESSION

Hola

Tengo que desarrollar un sistema de seguridad con PHP. Yo hasta el momento venia utilizando las variables de PHP $_SESSION pero no se que tan seguras sean, ¿se pueden acceder a la información que transmiten de pagina en página?.

También me interesaría saber si me conviene encriptar el usuario y la contraseña para transmitirlos al script que hace la verificación. O como hacer para almacenar las passwords encriptadas en la Base de Datos.

Todo lo que me puedan decir en cuestión de seguridad y recomendaciones me servirá.

Como el sistema lo estoy haciendo desde cero y sin apuro quiero hacerlo bien de entrada para después no tener que ir corrigiendo todos los scrips.

Saludos
  #2 (permalink)  
Antiguo 15/01/2010, 14:21
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: Sistema de Acceso Seguro: Sirve $_SESSION

si te refieres a que pueden leerlas desde fuera la respuesta es NO, el manejo de sesiones es por excelencia lo más usado en aplicaciones web, se almacenan en el servidor y si puedes acceder a las variables de sesión en todo el ámbito de cualquier script (siempre y cuando session_start sea llamado o el inicio de las sesiones sea automático)

para encriptar las contraseñas sólo necesitas hashearlas con MD5 u otro algoritmo de hash

para garantizar el login de los usuarios puedes implementar SSL, pero un certificado válido es de pago
  #3 (permalink)  
Antiguo 15/01/2010, 14:27
PanuWeb
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Sistema de Acceso Seguro: Sirve $_SESSION

Wow que rápida tu respuesta. Muchas Gracias.

Puedes explicarme un poco mas sobre MD5, ¿eso es para la base de datos? como se utiliza?

Por lo de SSL estube averiguando y si, un certificado cuesta bastante. No se podría encriptar de otra manera, por ejemplo con javascript, enviar encriptado y desencriptarlo en el script php??

saludos
  #4 (permalink)  
Antiguo 15/01/2010, 14:30
Avatar de JessicaTJ  
Fecha de Ingreso: enero-2007
Ubicación: 127.0.0.1
Mensajes: 472
Antigüedad: 17 años, 3 meses
Puntos: 25
Respuesta: Sistema de Acceso Seguro: Sirve $_SESSION

Cita:
Iniciado por PanuWeb Ver Mensaje
Wow que rápida tu respuesta. Muchas Gracias.

Puedes explicarme un poco mas sobre MD5, ¿eso es para la base de datos? como se utiliza?

Por lo de SSL estube averiguando y si, un certificado cuesta bastante. No se podría encriptar de otra manera, por ejemplo con javascript, enviar encriptado y desencriptarlo en el script php??

saludos
Cuando guardes la contraseña en la base de datos, la guardas asi:
Código PHP:
$password md5($_POST['pass']); 
De esta manera estas encriptando la contraseña y evitas futuros problemas ^-^
__________________
٩(͡๏̯͡๏)۶ || ٩(͡๏̯͡๏)۶
  #5 (permalink)  
Antiguo 15/01/2010, 14:34
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: Sistema de Acceso Seguro: Sirve $_SESSION

básicamente la función es MD5($password) en php, mysql tambien la tiene y la mayoria de las bases de datos, para mayor información búscalo en google y lo comprenderás mejor, también existe SHA1 y otras

Con respecto a lo del SSL, existen otras, pero puedes usar un certificado genérico SSL gratis (lo puedes generar tu mismo), pero al no estar autenticado a los usuarios les saldrá como certificado no confiable, si es un sistema interno de la empresa no es problema, un memorando indicando que lo acepten basta, al final las conexiones seguras evitan el robo de contraseñas y espionaje al sistema; si es para una web pública no te queda de otra que comprar el certificado
  #6 (permalink)  
Antiguo 15/01/2010, 14:36
PanuWeb
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Sistema de Acceso Seguro: Sirve $_SESSION

ok gracias. y como la recupero para compararla con la que ingresa el usuario??

otra cosa es conveniente hacer la autenticación en cada página que el usuario ingresa o sólo en la primera y después con las sessiones envío a todas la páginas un

Código PHP:
$_SESSIO['autenticado'] = 'yes'
  #7 (permalink)  
Antiguo 15/01/2010, 14:41
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: Sistema de Acceso Seguro: Sirve $_SESSION

comparas el hash en la base con el hash que le apliques al logearse, ya que (y debes investigar un poco mas) los HASH no son reversibles, una vez encriptada la contraseña no la puedes recuperar

$_SESSION['autenticado'] = 'yes'; //Correcto, así se usa comúnmente
  #8 (permalink)  
Antiguo 15/01/2010, 14:42
PanuWeb
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Sistema de Acceso Seguro: Sirve $_SESSION

gracias maycolalvarez voy a hablar con los de mi servicio de hosting por lo de SSL. El sistema es para una empresa que tiene varias sucursales y querían centralizar un catálogo en un servidor para todas las sucursales lo tengan actualizado al instante. Creo que con un certificado autofirmado funcionaría.

En el fin de semana pruebo lo que me comentaron y cualquier duda vueldo

Gracias y Saludos
  #9 (permalink)  
Antiguo 15/01/2010, 14:46
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: Sistema de Acceso Seguro: Sirve $_SESSION

bueno SSL es mayor seguridad, y no hay mucho que configurar en php, casi nada, pero un poco en apache, buena suerte!!!
  #10 (permalink)  
Antiguo 15/01/2010, 18:28
PanuWeb
Invitado
 
Mensajes: n/a
Puntos:
Pregunta Respuesta: Sistema de Acceso Seguro: Sirve $_SESSION

Hola hoy no pude hablar con los del hosting así que voy a a tener que esperar hasta el lunes.

Por lo pronto fijándome vía FTP encontré una carpeta SSL suponiendo que esa sea la carpeta donde debo colocar los archivos´¿Debo colocar todo el sitio ahí? ¿o sólo el formulario html y el script a dónde dirige el formulario?

gracias
  #11 (permalink)  
Antiguo 15/01/2010, 20:20
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: Sistema de Acceso Seguro: Sirve $_SESSION

generalmente lo que corresponde al login, porque usar siempre ssl implica una baja de rendimiento considerable.

No creo que puedas así por así copiar en esa carpeta si tu servicio de hosting no te ha activado el dominio seguro, las web por ssl se acceden generalmente por https
  #12 (permalink)  
Antiguo 15/01/2010, 20:26
PanuWeb
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Sistema de Acceso Seguro: Sirve $_SESSION

Si me imagino que me lo deben activar primero.

Mira buscando sobre la función MD5 encontré esta web:

http://pajhome.org.uk/crypt/md5/instructions.html

en dónde podes descargar un script javascript para encriptar los datos y mandarlos ya encriptados, funciona con varios formatos: md5, sha1, etc.

La estoy probando y es muy buena.

Saludos
  #13 (permalink)  
Antiguo 15/01/2010, 20:31
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: Sistema de Acceso Seguro: Sirve $_SESSION

bueno, no sirve de mucho enviar el hash, porque al final un hacker puede usarlo para otras cosas, la idea del hash es proteger la clave en la base de datos, la diferencia del ssl es que es un algoritmo asíncrono que permite encriptar realmente la transferencia de la contraseña
  #14 (permalink)  
Antiguo 15/01/2010, 20:36
PanuWeb
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Sistema de Acceso Seguro: Sirve $_SESSION

ahhh!!!! tienes razónnn!!! como no me di cuenta!!!
En vez de la contraseña obtiene el hash y lo compara contra la base de datos y es lo mismo!!! cómo no me di cuenta.

Bueno SSL es la unica alternativa seguiré por ahí.

Saludos
  #15 (permalink)  
Antiguo 15/01/2010, 20:50
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: Sistema de Acceso Seguro: Sirve $_SESSION

ssl es de la que usan los bancos, una de las mas seguras, no es imprescindible pero sin duda es mejor que solo el md5, aunque siempre debe usarse al menos hash en las contraseñas.

Bueno, hablamos mañana! (aqui son las 10pm) si tienes alguna duda la respondo mañana.
  #16 (permalink)  
Antiguo 15/01/2010, 21:03
PanuWeb
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Sistema de Acceso Seguro: Sirve $_SESSION

OK. Muchas gracias por todo. Acá en argentina son las 23:50. Saludos
  #17 (permalink)  
Antiguo 18/01/2010, 14:29
PanuWeb
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Sistema de Acceso Seguro: Sirve $_SESSION

Hola

ahora vengo con otra pregunta. Cómo se puede hacer para que una session caduque luego de 15 minutos de inactividad por ejemplo.

Gracias
  #18 (permalink)  
Antiguo 19/01/2010, 11:16
Avatar de Nefertiter  
Fecha de Ingreso: enero-2003
Ubicación: Rosario
Mensajes: 1.316
Antigüedad: 21 años, 3 meses
Puntos: 9
Respuesta: Sistema de Acceso Seguro: Sirve $_SESSION

para eso ultimo date una vuelta por:

http://www.php.net/manual/en/functio...che-expire.php
  #19 (permalink)  
Antiguo 19/01/2010, 11:32
PanuWeb
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Sistema de Acceso Seguro: Sirve $_SESSION

Gracias Nefertiter. Lo pruebo y comento. Saludos
  #20 (permalink)  
Antiguo 10/05/2010, 14:17
 
Fecha de Ingreso: octubre-2005
Mensajes: 240
Antigüedad: 18 años, 6 meses
Puntos: 1
Respuesta: Sistema de Acceso Seguro: Sirve $_SESSION

Cita:
Iniciado por maycolalvarez Ver Mensaje
bueno, no sirve de mucho enviar el hash, porque al final un hacker puede usarlo para otras cosas, la idea del hash es proteger la clave en la base de datos, la diferencia del ssl es que es un algoritmo asíncrono que permite encriptar realmente la transferencia de la contraseña
Hombre, realmente es mejor enviar el hash encriptado con md5 que no la contraseña desencriptada a través del formulario. Así si un hacker te "sniffea" se encontrará con una clave encriptada que no le sirve.

Yo lo que hago siempre es encriptar la contraseña del login con javascript y luego la comparo con la ya encriptada en md5 en la base de datos.

Etiquetas: seguro, session, sitemap
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:02.