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.