Cifrado Mysql / almacenamiento de datos confidenciales,

Tengo lo siguiente para mi sitio web PHP:

SSL habilitado

Galletas :

session_set_cookie_params($cookieParams["lifetime"], 
$cookieParams["path"], $cookieParams["domain"], $secure, $httponly);

Contraseñas SHA512 en tránsito, luego password_hash () y finalmente PASSWORD_BCRYPT

Declaraciones preparadas de MysqliEntradas todas desinfectadas al INSERTAR / ACTUALIZAR en Mysqlhtmlentities, etc., utilizado para evitar xss siempre que sea posible.

Ahora estoy buscando usar la función AES_Encrypt para cifrar datos confidenciales al tener la clave $ para cifrar y descifrar almacenada fuera del directorio webroot.

Potencialmente, esto podría almacenar datos de pacientes, ¿lo que tengo colocado parece lo suficientemente seguro?

Pregunta:

¿Cómo desinfectas las entradas cuando INSERTAS / ACTUALIZAS? Si está utilizando declaraciones preparadas, tampoco debe escapar de los datos manualmente.

Responder:
ejemplo:

  $firstname = ucwords(filter_input(INPUT_POST, 'firstname', FILTER_SANITIZE_STRING));

Respuestas a la pregunta(2)

Su respuesta a la pregunta