Подтвердить что ты не робот

Переменные методы перехвата MySQL/хосты

Я хочу знать, что является лучшей практикой или что рекомендуется делать, когда переменные создаются для учетных данных MySQL/хоста.

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

против

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

Для обоих вы можете легко проверить, что такое объявленные переменные или константы, и, возможно, можете легко найти, что такое значение. У меня есть код, который несколько пользователей могут использовать и использовать.

Каков наилучший способ защиты этих переменных?

4b9b3361

Ответ 1

Здесь несколько решений

1) Вы даете каждому пользователю пользователя и пароль, и каждый пользователь имеет свои разрешения в базе данных (только выберите или вставьте ect..). Таким образом, в вашем коде вы просто включаете db.config.php, чтобы все переменные были установлены. На самом деле не имеет значения, если пользователь перекликается с переменными, так как они используют свои собственные.

2) вы можете дать общее имя пользователя/пароль для базы данных, а затем закодировать файл (используя пользовательскую кодировку, оптимизировать zend или ioncube и отключить переменные. Здесь пример кода:

// 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) В какой-то момент кто-то сможет каким-то образом найти эту информацию. Я бы просто рекомендовал доверять вашему пользователю (при условии, что это разработчики)

Ответ 2

В какой-то момент вашего кода вам придется жестко указывать такую ​​информацию, важно сохранить ее только в одном месте, чтобы повысить работоспособность. Однако, поскольку вы беспокоитесь о безопасности, я предлагаю вам проверить это: Преобразовать PHP файл в двоичный файл