query - Credenciales de MySQL/mejores prácticas de variables de hosts
show variables mysql (2)
Aquí hay algunas soluciones
1) Usted le otorga a cada usuario un usuario y una contraseña y cada usuario tiene sus permisos en la base de datos (solo seleccione, o inserte 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) puede dar un nombre de usuario / contraseña común para la base de datos y luego codificar el archivo (ya sea usando codificación personalizada , zend optimizer o ioncube y desarmando las variables. Aquí hay un código de muestra:
// 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 tu usuario (suponiendo que estos sean desarrolladores)
Quiero saber cuál es la mejor práctica o qué se recomienda hacer cuando se crean variables para las credenciales / host de MySQL.
define(''HOST'', ''localhost'');
// etc..
mysql_connect(HOST, // etc...
vs
$host = ''localhost'';
// etc..
mysql_connect($host, // etc...
Para ambos, puede verificar fácilmente cuáles son las variables o constantes declaradas y, quizás, puedan encontrar cuál es 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?
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 le preocupa la seguridad, le sugiero que compruebe esto: Convertir archivo PHP a binario