5 formas de reforzar la seguridad de tus sesiones en PHP

5 formas de reforzar la seguridad de tus sesiones en PHP

Seguridad
En un post anterior había mencionado cuáles son los riesgos a los que están sujetas las sesiones PHP. En este artículo voy a darte algunos tips para mejorar la seguridad de tus sesiones y dormir más tranquilo :) 1. Usa siempre HTTPS La mejor forma de reforzar la seguridad de tus aplicaciones (No sólo de las sesiones) es utilizar tráfico cifrado, de esta forma, aún si alguien logra capturar el tráfico le será virtualmente imposible leer el contenido. Puedes conseguir certificados gratuitos usando, por ejemplo, LetsEncrypt 2. Cambia el nombre de tu cookie de sesión El nombre por defecto de la cookie de sesión es PHPSESSID pero puedes cambiarlo usando session_name() o desde la configuración de php (La variable session.name). Al cambiar este dato harás más dificultoso para un atacante…
Leer más
¿Qué tan seguras son las sesiones de PHP?

¿Qué tan seguras son las sesiones de PHP?

Seguridad
Seguramente escuchaste alguna versión de estas preguntas: ¿Es posible que alguien modifique sus cookies, les otorgue diferentes privilegios o inicie sesión como un usuario diferente? ¿Puede alguien robar las variables mientras están guardadas en el lado del servidor? ¿Que tan posible es que alguien te copie una session para usarla en su navegador? Una de nuestras principales preocupaciones como desarrolladores de software es la posibilidad de que algún hacker pueda robar información que los usuarios han confiado a nuestras aplicaciones. Si eso llegara a suceder nuestros clientes podrían verse en serias dificultades (y por lo tanto, nosotros también). Existen muchos modos en que un atacante puede colarse en nuestros sistemas y, lamentablemente, las sesiones no están exentas de riesgos. Para qué sirven las sesiones en PHP Las sesiones de PHP…
Leer más
Validaciones… ¿lado cliente o lado servidor?

Validaciones… ¿lado cliente o lado servidor?

Buenas prácticas, Seguridad
La respuesta corta primero: las dos (y si sólo puedo elegir una, definitivamente del lado servidor). Respuesta larga: ¿Por qué es más importante la validación del lado servidor que del lado cliente? Sencillamente porque tenés mucho más control sobre lo que sucede. En una aplicación de escritorio (o digamos, una aplicación que no sea de tipo cliente-servidor) no existe este problema: la aplicación es una sola con lo cual, lo que el front-end captura puede ser considerado confiable y volver a realizar la validación en el backend resultaría redundante. En cambio, en el entorno de una aplicación web (o una cliente-servidor), se trata realmente de dos aplicaciones independientes. Pensá un momento en cómo es el modelo de ejecución de una aplicación web: El cliente realiza un pedido El servidor responde…
Leer más
Algunas consideraciones de seguridad cuando se suben archivos vía PHP

Algunas consideraciones de seguridad cuando se suben archivos vía PHP

Seguridad
Php permite subir archivos vía HTTP de un modo bastante simple (Si tenés dudas consultá acá). Un uso bastante común de esta funcionalidad es la de permitir al visitante ingresar imágenes, por ejemplo: su foto de perfil. Existe una serie de consideraciones respecto de la seguridad a tener en cuenta cuando se realiza una tarea de este tipo. Con estas medidas estamos intentando evitar que un atacante engañe a nuestro sistema subiendo código malicioso que podría, por ejemplo, darle acceso a información privilegiada. Validar que el archivo recibido sea del tipo esperado Lo primero de lo que querremos estar seguros es de que el archivo que acabamos de recibir sea efectivamente una imagen (GIF, JPG, etc...). La forma inocente de hacer esta verificación es a través del nombre del archivo (si las últimas…
Leer más