2009-12-29 8 views
13

Guardo información importante en $_SESSION, no en $_COOKIE. Entonces, mi pregunta, ¿es peligroso? ¿O está protegido de usuarios maliciosos que intentan editarlo y estoy bien? Gracias.

Por cierto, es posible también editar $_COOKIE? Escuché que sí, pero si es así, ¿cómo?

Respuesta

17

$_SESSION se almacena en el servidor. Lo mejor que un hacker podría hacer sería sustituir la sesión de otro usuario por la sesión existente, pero el hacker no podría insertar datos arbitrarios en $_SESSION. $_COOKIE es, sin embargo, almacenado en el lado del cliente, por lo que un pirata informático puede insertar datos arbitrarios en la cookie, simplemente editando la cookie.

3

$ _SESSION se almacena en su servidor web, por lo que no es posible alterar directamente a través de la web. Por supuesto, su aplicación PHP puede actualizar $ _SESSION, por lo que aún podría ser posible que un atacante engañe a su aplicación para que le haga algo a $ _SESSION que no debería hacerlo, todo depende de los detalles de su aplicación.

$ _COOKIE se almacena en el navegador del usuario, lo que significa que el usuario tiene el poder de cambiar sus propias cookies.

Uno de los principales usos de las cookies es la autenticación. Un usuario inicia sesión y la información se almacena en $ _SESSION. Una cookie (almacenada en $ _COOKIE) registra la identificación de la sesión del usuario para que su aplicación sepa qué sesión pertenece al usuario que ha iniciado sesión.

+0

Nunca he visto un almacén de datos de sesión basado en la memoria. –

+0

Una optimización de rendimiento común es usar memcached para almacenar datos de sesión PHP - (ejemplo de un almacén de datos de sesión basado en memoria) – leepowers

0

Las cookies se envían a través del agente de usuario cada vez que se solicita una página. El usuario-agente no necesita ser un navegador. Podría ser un pequeño script de shell. Incluso si se trata de un navegador, existe una extensión de "edición de cookies" para Firefox.

3

Si usted está preocupado acerca de las personas que alteran sesiones (secuestro de sesión) mirar en session_regenerate_id()

0

$ _COOKIE contiene información que el cliente envía al servidor web. Más comúnmente, este es el contenido de las cookies del navegador, pero puede contener CUALQUIER COSA, por lo tanto, no confíe en él.

7

De manera predeterminada, el $_SESSION ya está respaldado por una cookie con el nombre phpsessionid (para que el servidor pueda identificar al cliente y asociarlo a una de las sesiones en la memoria del servidor). Si un hacker conoce el valor de la cookie de otra persona y lo copia en su propia cookie con el mismo nombre en el mismo dominio/ruta, entonces el pirata informático tiene acceso al mismo $_SESSION. Sin embargo, el valor de la cookie es largo y lo suficientemente aleatorio para minimizar los riesgos de que la sesión sea secuestrada en media hora (el tiempo de espera predeterminado de la sesión).

1

Sí hacker puede secuestrar la sesión puede utilizar session_regenerate_id(), o lo robó mirar si usted es administrador y que ha entrado, (sesión se encuentra en el servidor) pirata informático tiene que a través de XSS => hará de cookies en su PC con esta sesión y registro, cambiar el paso o añadir admin, besore el final de la sesión


cookie puede robó también, aspecto este código setcookie("admin","admin_log",time()+3600); si hackers conocen el código como código abierto que puede iniciar sesión como make cookie by firefox addons como el nombre y el valor de la cookie

Cuestiones relacionadas