Cómo evitar el secuestro de sesión en CodeIgniter 3
Sé que esta es una pregunta duplicadaPregunta de seguridad de sesiones de Codeigniter / PHP pero lamento decir que todas las medidas recomendadas allí fallaron en mi caso y esa es la razón por la que estoy repitiendo esta pregunta y esa pregunta formulada en 2011 y ahora sus respuestas estarán desactualizadas. Así que por favor no lo dupliques.
En mi escenario habilité$config['sess_driver'] = 'database';
y$config['sess_match_ip'] = TRUE;
en el archivo de configuración
También pongo el token csrf y el filtro XSS en mi formulario de autenticación y siempre uso registros activos para evitar cualquier tipo de inyección SQL. Para mayor seguridad, también implementé la autenticación de 2 factores, Google ReCaptcha y el bloqueo de ip en el décimo intento. Aún así, todas las medidas anteriores solo pueden prevenirataque de fuerza bruta en mi caso y no el secuestro de sesión.
Si un atacante obtuvo el valor ci_session y mi ip, puede iniciar sesión fácilmente en mi sitio web sin ninguna credencial de inicio de sesión.
Sé que usar HTTPS puede ayudar, ya que puedo habilitar$config['cookie_secure']=TRUE;
pero no estoy 100% seguro al respecto, ya que puedo iniciar sesión fácilmente en mi cuenta de Twitter mientras hago el secuestro de sesión y Twitter uso HTTPS.
También probé mi aplicación laravel y su sistema de autenticación de middleware predeterminado puede ser secuestrado por sesión.
Entonces, el problema básico es todo mi trabajo de autenticación en la sesión y no conozco ningún otro método para usar la autenticación sin usar la sesión.
Si alguien tiene alguna idea de cómo mejorar la seguridad de mi aplicación web, ayúdeme.
Gracias por adelantado.