¿Impediría, por ejemplo, el secuestro de sesión? Si no, ¿qué puedo hacer para asegurar mis sesiones de php?¿Hay algún beneficio de seguridad en el cifrado de las variables de sesión?
Respuesta
Lo que se envía al cliente es un identificador de sesión y no una variable de sesión. Estos identificadores de sesión generalmente se establecen como una cookie en el cliente. Por supuesto, si alguien agarra el identificador de sesión (por ejemplo, mediante el uso de ataques de scripts cruzados) desde el navegador o cliente del usuario, puede establecer el identificador de sesión en su propio cliente y hacerse pasar por el otro usuario.
Las variables de sesión, sin embargo, generalmente se refieren a los valores en $_SESSION
matriz. Ver http://www.php.net/manual/en/function.session-start.php para un ejemplo. Estos valores nunca se envían a través de la red al cliente.
En lo que se refiere a la protección de identificadores de sesión, ya he explicado en el primer párrafo que están almacenados como cookies en el navegador. En una sesión HTTP, las cookies se transmiten entre el servidor y el cliente en texto sin formato. Esto es vulnerable a las escuchas (por ejemplo, un tipo en un enrutador a través del cual los paquetes pasan podrían capturar sus paquetes y leer el identificador de la sesión). La mejor manera de superar este problema es usar HTTPS en su lugar.
Supongo que depende de lo que quiere decir con "beneficio de seguridad". Si su aplicación está en un host compartido, y los datos de su sesión se guardan en una ubicación central no segura donde podría estar abierta para que otros usuarios la lean, entonces sí, técnicamente hay algunos beneficios de seguridad al encriptar sus sesiones. Sin embargo, sería un mejor uso de su tiempo y esfuerzo simplemente write your own session storage mechanism para que no los guarde en una ubicación insegura en primer lugar; especialmente teniendo en cuenta lo fácil que es hacer una encriptación completamente errónea y tener una falsa sensación de seguridad.
- 1. ¿Hay algún beneficio real de usar J #?
- 2. ¿Hay algún beneficio para encriptar dos veces usando pgp?
- 3. ¿Hay algún beneficio en aprender LISP?
- 4. ¿Hay algún beneficio para mantener el tamaño de MaxPermSize pequeño?
- 5. ¿Hay algún beneficio en minimizar JavaScript antes de descomprimirlo?
- 6. A Dificultad de seguridad (cifrado)
- 7. ¿Hay algún beneficio de tiempo de ejecución para usar variables locales const?
- 8. ¿Hay algún beneficio de usar un Inicializador de objetos?
- 9. ¿Hay algún beneficio de usar un método @static?
- 10. ¿Hay algún beneficio al usar SecureString en ASP.NET?
- 11. ¿Hay algún beneficio al usar HtmlHelper en MVC?
- 12. ¿Las etiquetas fieldset tienen algún beneficio de accesibilidad?
- 13. ¿Hay algún beneficio al usar prototipos en lugar de declarar propiedades en el objeto mismo?
- 14. ¿CÓMO unitar las variables de sesión de sesión en PHP?
- 15. ¿Qué tan seguras son las variables de sesión de PHP?
- 16. Las variables de sesión se pueden engañar (inicio de sesión)?
- 17. ¿Hay algún beneficio o inconveniente cuando un constructor implementa otro?
- 18. ¿Hay algún complemento de prueba de seguridad para los rieles?
- 19. Ver las variables de la sesión php
- 20. ASP.NET - Desaparecer las variables de sesión
- 21. ¿Seguridad de sesión?
- 22. ¿Hay algún beneficio al declarar una const en lugar de una variable dentro de una función?
- 23. Linux - variables de entorno de seguridad
- 24. ¿Hay algún beneficio en definir una clase dentro de otra clase en Python?
- 25. ¿Hay algún beneficio al declarar una propiedad privada con un getter y setter?
- 26. Seguridad de la sesión Codeigniter
- 27. variables de sesión de asp.net en Session_End
- 28. ¿Hay algún beneficio en hacer que un campo C# sea de solo lectura si es apropiado?
- 29. ¿El modificador "o" para las expresiones regulares de Perl aún proporciona algún beneficio?
- 30. SQL Server 2008: ¿hay algún beneficio para múltiples grupos de archivos en la misma unidad física?
+1 ... Creo que esto responde mejor a la pregunta. Las variables de sesión en sí mismas no están expuestas (siempre que no hagas algo estúpido que las exponga) PERO si estás en un host compartido mal configurado donde hay una ubicación universal de almacenamiento tmp/session, entonces otros sitios en el servidor pueden obtener acceso a ellos –