Red de conocimiento informático - Problemas con los teléfonos móviles - Cómo manejar el cifrado de la información de configuración de la base de datos thinkphp

Cómo manejar el cifrado de la información de configuración de la base de datos thinkphp

Hoy un amigo me hizo esta pregunta sobre thinkphp y acabo de encontrar tu pregunta en Baidu. Ya solucionado. Déjame ayudarte a responder esta pregunta.

Primero, intenté encapsular una función de cifrado en el archivo de entrada, utilicé php des cifrado y luego lo llamé en el archivo de configuración config.php. Luego use esto en el controlador para imprimir el archivo de configuración: dump(C());// Genere toda la información del archivo de configuración, aunque puedo ver los datos de nombre de usuario y contraseña correctos, informará un error. Terminar con el fracaso.

Déjame hablar de mi solución. Muy sencillo.

1: Escriba el nombre de usuario, la contraseña y el nombre de la base de datos en el archivo de configuración a ciegas. Cuando otros miren el código del archivo de configuración, verán el nombre de la base de datos y la contraseña incorrectos. Por ejemplo:

'DB_NAME' => 'SB', //nombre de la base de datos

'DB_USER' => 'ni_da_ye', //nombre de usuario

' DB_PWD' => 'da_da_bi', //Contraseña

En cada archivo del controlador. Añade un fragmento de código.

Por ejemplo, su archivo IndexController.class.php. Agregue el siguiente código.

/* Método de inicialización*/

función pública __construct(){

padre::__construct();

C(" DB_NAME",decrypt('712349721937491237'));//Nombre de la base de datos,

C('DB_USER',decrypt('712349721937491237'));//Nombre de usuario

C( 'DB_PWD',decrypt('712349721937491237'));//Contraseña

}

¿Viste lo que pasó?

La función decrypt() es una función de cifrado. La encapsulé y probé la función yo mismo y no encontré errores. Puede sacrificar algo de rendimiento. Pero garantiza que no se filtren nombres de usuario, contraseñas y nombres de bases de datos. Incluso puedes cifrar la dirección de conexión de la base de datos. Espero que esto ayude.

Las funciones de cifrado PHP pueden considerar el uso de cifrado reversible como des y aees. No uses ningún md4, md5.