Pregunta

Quiero saber cuál es la mejor práctica o qué se recomienda hacer cuando se crean variables para 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 tal vez pueda encontrar cuáles son el valor fácilmente. Tengo código que varios usuarios pueden compartir y usar.

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

¿Fue útil?

Solución

Aquí hay pocas soluciones

1) Le da a cada usuario un usuario y 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 todas las variables estén establecidas. Realmente no importa si el usuario hace eco de las variables ya que usa las suyas.

2) Puede dar un nombre de usuario/aprobación común para la base de datos y luego codificar el archivo (ya sea usando codificación personalizada, Zend Optimizer o IonCube y desanimado 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 su usuario (suponiendo que estos son desarrolladores)

Otros consejos

En algún momento de su código, tendrá que codificar este tipo de información, lo importante es mantenerla en un solo lugar para promover la mantenibilidad. Sin embargo, como le preocupa la seguridad, le sugiero que revise esto: Convertir el archivo php en binario

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top