Estoy alojando una aplicación Yii en host compartido con algunos de mis amigos, y mantengo la base de datos en un servidor MySQL privado. Como se sabía, la información de la base de datos se puede encontrar de manera muy fácil en protected\config\main.php
por otro propietario de acogida (mi amigo y más):¿Cómo la cadena de conexión protegida por la aplicación Yii?
'db'=>array(
'connectionString' => 'mysql:host=211.113.2.45;dbname=FamilyBook',
'emulatePrepare' => true,
'username' => root,
'password' => 'xcute445',
'charset' => 'utf8',
),
¿Hay alguna solución para ocultar la información de conexión como el servidor IP de MySQL, nombre de usuario, contraseña?
¿Puede el servidor MySQL proporcionar el mecanismo RSA para proteger la información de la base de datos?
ejemplo, cualquier gente puede ver de la siguiente manera, pero no pueden entender o usar:
'db'=>array(
'connectionString' => '57bf064b2166366a5ea61109006b8d5c',
'emulatePrepare' => true,
'username' => '63a9f0ea7bb98050796b649e85481845',
'password' => 'e04ccf211208f8c97e4a36e584926e60',
'charset' => 'utf8',
), // value by MD5 function, example only
Si la información de "cómo autenticar a mi servidor SQL "reside en el servidor donde aloja su aplicación, y es accesible por Yii, entonces todos con acceso puede encontrar esa información. No importa si se trata de una contraseña de texto sin formato, un hash o una clave privada. –
Puede usar cifrado bidireccional, [algo como esto] (http://www.99points.info/2010/06/php-encrypt-decrypt-functions-to-encrypt-url-data/). Haga los métodos estáticos y luego pase 'Encryption :: decode (my_encoded_username)' to 'username',' password', etc. No estoy seguro si Yii carga clases en el archivo de configuración, sin embargo. – adamors
@ Örs: ¿Qué es lo que va a lograr? Debe obtener la clave de cifrado de algún lado. Si se puede acceder a ese lugar junto con su fuente, cualquier persona con acceso a la fuente puede descifrar la contraseña. Si no es así, simplemente ponga la contraseña allí y no hay necesidad de involucrar el cifrado. – Jon