Изучение скрипта PHP connect показывает константы с использованием httpsfox
Привет, я читаю учебник по PHP. Прямо сейчас я учусь подключаться к БД с помощью mysqli.
Вот некоторый код из скрипта:
DEFINE ('DB_USER', 'myname');
DEFINE ('DB_PASSWORD', 'local123');
DEFINE ('DB_HOST', 'localhost');
DEFINE ('DB_NAME', 'sitename');
Затем скрипт использует mysqli для установления соединения с БД.
Параграф гласит: "Поскольку файл содержит информацию - данные доступа к БД, которые должны храниться в секрете, сценарий будет использовать расширение.php, потому что, даже если злоумышленники запустят сценарий в своем браузере, они не увидят содержимое сценария.".
Мне было любопытно, и я запустил скрипт с открытым httpfox. Похоже, связь показывает всю важную информацию! Если вы нажмете на вкладку контента.
Таким образом, использование.php не добавляет безопасности?
2 ответа
Убедитесь, что PHP-код заключен в <?php
а также ?>
, Код, который не включен в <?php
а также ?>
интерпретируется PHP как вывод, который должен быть отправлен в браузер. так что вы должны сделать что-то вроде
<?php
DEFINE ('DB_USER', 'myname');
DEFINE ('DB_PASSWORD', 'local123');
DEFINE ('DB_HOST', 'localhost');
DEFINE ('DB_NAME', 'sitename');
?>
Также обратите внимание, что наличие конфиденциальной информации (например, имени входа в базу данных) в файле.php не препятствует доступу к файлу неавторизованных пользователей. Разрешения, используемые в файловой системе веб-сервера, на котором выполняется файл, и безопасность самого веб-сервера будут иметь огромное влияние на то, смогут ли злоумышленники получить доступ к содержимому файла.
При этом, насколько я знаю, не существует 100% безопасного способа хранения логина базы данных (или любой конфиденциальной информации) в файле PHP.