2011-10-18 16 views
25

Quiero saber cuál es la mejor práctica o qué se recomienda hacer cuando se crean variables para las credenciales/host de MySQL.Credenciales de MySQL/Mejores prácticas de variables de hosts

define('HOST', 'localhost'); 
    // etc.. 
    mysql_connect(HOST, // etc... 

vs

$host = 'localhost'; 
    // etc.. 
    mysql_connect($host, // etc... 

Por tanto se puede comprobar fácilmente cuáles son las variables o constantes declaradas y tal vez puede encontrar lo que son el valor fácilmente. Tengo un código que varios usuarios pueden compartir y usar.

¿Cuál es la mejor manera de proteger estas variables?

Respuesta

31

está aquí algunas soluciones

1) Usted da a cada usuario un usuario y contraseña y cada usuario tiene sus permisos en la base de datos (sólo seleccione , o insertar ect ..). Entonces, en su código simplemente incluye un db.config.php para que se establezcan todas las variables. Realmente no importa si el usuario hace eco de las variables ya que usan las suyas. .

2) se puede dar un nombre de usuario común/pasar por la base de datos y luego codificar el archivo (ya sea usando custom encoding, optimizador de Zend o ioncube y desarmar las variables Aquí está un ejemplo de código:

// file mysql_connect.php 

$link = mysql_connect("localhost", "mysql_user", "mysql_password") 
    or die("cannot connect to database : " . mysql_error()); 

// then this file is encoded so nobody can view it. 

3) En algún momento, alguien, de alguna manera, podrá encontrar esta información. Simplemente recomendaría confiar en su usuario (asumiendo que estos son desarrolladores)

+0

El segundo parece caro para lo que tengo que hacer, tercero, bueno todavía no;) pero me gusta el primero, muy fácil y ordenado. –

+0

No hay problema, bienvenido –

1

En algún punto de su código tendrá que codificar este tipo de información, lo importante es mantenerlo en un solo lugar para promover el mantenimiento. Sin embargo, como usted está preocupado por la seguridad sugiero que revise esta: Convert PHP file to binary

Cuestiones relacionadas