Seguridad en $session

Iniciado por basickdagger, 10 Mayo 2014, 00:39 AM

0 Miembros y 1 Visitante están viendo este tema.

basickdagger

Hola bueno esto trabajando en un sitio y tengo una duda...

tengo una table en mi BD llamada Usuarios..
la cual tengo con 4 campos...

id tipo usuario contraseña...

entonces a la hora de hacer mi login
tomo ciertos valores

Código (php) [Seleccionar]

if (mysql_num_rows($ejecutar_sql)!=0){

session_start();
if($tipo=='admin'){

$_SESSION['usuario']=$usuario;
$_SESSION['tipo']=$tipo;
}
                if($tipo=='user'){
$_SESSION['usuario']=$usuario;
$_SESSION['tipo']=$tipo;
               }
               return true;
} else {
return false;
}

antes de este código comparo que  $usuario y $tipo existan antes  de ejecutar esta parte de código para iniciar cualquier session...

y ya en cada pagina comparo

$_SESSION['tipo']

y dependiendo de este muestro información...

que tan facil es robarse mi session?
es lo peor que puedo hacer?

alguna recomendación...


Saludos!


engel lex

las sesiones de php originalmente son sumamente sensibles al robo

un ejemplo simple para explicar esto, inicia sesion en (ej) chrome a tu pagina, presiona f12 para abrir la consola de comandos escribe
Código (javascript) [Seleccionar]
document.cookie
esto se devolverá un valor como

PHPSESSID=ert9aj1m97cuns786sbu18l8d1

abre otro navegador (puede ser internet explorer por razones de prueba), en ie presionas f12 para abrir la consola, presionas donde dice "script" y abajo a la derecha escribes
Código (javascript) [Seleccionar]
document.cookie='PHPSESSID=ert9aj1m97cuns786sbu18l8d1'

al refrescar la pagina, verás que estás logeado! :P felicitaciones, acabas de aprender a robar una galleta! XD

para evitar esto puedes hacer lo siquiente

en las variables de $_SESSION agregas de las variables del servidor ($_SERVER)
REMOTE_ADDR
HTTP_USER_AGENT

con esas 3 las comparas siempre, esto aunque no es infinitamente infalible es bastante pesado de superar para muchos y requeriría el atacante estar en la misma lan para poder realizar un ataque

hay más metodos, pero los dejo a google para que los busques
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.

basickdagger

muchas gracias sinceramente no tenia idea.. aunque tengo una duda.. al destruir un session se eliminan tambien la session de la cookie copiada vdd?

saludos.. voy a informarme más..

engel lex

si, si la sesión se destruye o se cambia de identificador (hay un comando para eso) la cookie copiada queda inútil
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.