Intereting Posts
Получить конкретный html-контент с другого сайта с помощью PHP Как работает PhpQuery? Попытка получить значение тега <title> добавить php-скрипт в cron для запланированной задачи из php? PHP: переместить с переименованием не удается, но комбинация операций копирования и отмены mysql_num_fields (): предоставленный аргумент не является допустимым ресурсом результата MySQL Как скрыть ссылки в строке состояния браузера при наведении указателя мыши на ссылки на веб-странице? Заполнение целочисленной части PHP Внедрение Laravel 5.1 «Illuminate \ Http \ Request» в ваших пользовательских классах? Как преобразовать временную метку LDAP в временную метку Unix как отправить уведомление миллионам устройств Android в php с использованием GCM Изменение API графиков Google: тип изображения (размер) больше не работает? Изменить элементы при нажатии кнопки? Как разместить две формы на одной странице? текстовое поле ввода типа с фиксированной ошибкой 2147483647 Как передать переменные в Zend?

безопасное место для хранения значений php для msql_connect?

Было ли самым безопасным местом для хранения моих значений, которые будут использоваться в mysql_connect, и какой самый безопасный способ назвать эту переменную лучше использовать с помощью require, include или что-то еще?

благодаря 🙂

Лучшее место для его хранения IMO находится в файле PHP (независимо от того, используете ли вы его или используете для его извлечения) вне корневого веб-узла, т. Е. Напрямую не доступен в браузере.

 <?php $db_server = "xyz"; $db_user = "def"; $db_password = "abc"; ?> 

Если нет доступа вне веб-корня

@Yacoby написал это в своем ответе. Он удалил его с тех пор, но это определенно заслуживает упоминания.

Есть глупые хостинг-провайдеры, которые не разрешают доступ за пределами корня веб-сайта. В этом случае вы помещаете файл конфигурации в каталог на своем веб-сайте и защищаете его с помощью файла .htaccess содержащего Deny from All . Это работает на большинстве пакетов хостинга. Убедитесь, что вы его протестировали, но при попытке доступа к этому файлу вы должны получить 403 Forbidden .

Это то, что я обычно делаю:

  • Настройте проект, чтобы веб-сайт был подпапкой проекта. Таким образом, вы можете иметь все классы PHP и файлы конфигурации вне корневой папки.
  • Имейте файл config.php с массивом учетных данных базы данных. Например:
 $ databases = array (
       "read" => array ("host" => "127.0.0.1", 
                       "user" => "read", 
                       "pword" => "secret",
                       "dbase" => "projectName")); 
  • Расширьте класс PDO (или создайте новый класс) под названием Database, у которого есть конструктор с одним аргументом.
 класс Database расширяет PDO {
   функция __construct ($ database) {
     глобальные базы данных;
     $ db = $ databases [$ database];
     Родитель :: __ конструкт ( "MySQL: имя_бд =" $ дб [ 'DBase'] "хост =" $ дб [ 'хозяин']... 
                         $ db ['user'], $ db ['pword']);
   }
 }

Теперь вы можете передать ключ массива в один из учетных данных базы данных в качестве аргумента конструктору класса базы данных, а затем он будет входить с этими деталями. Это означает, что у вас может быть несколько пользователей для доступа к базе данных (один для чтения и один для записи).