Изучение скрипта 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.

Другие вопросы по тегам