PHP

Можно ли использовать переменные с другого сервера через include и безопасно ли это?

Например, есть у меня файл settings.php с логином и паролем от БД, дальше ещё и подключение через mysqli по этим переменным. Могёт ли человек, зная название файла, использовать эти данные на своём сайте? Если да, то куда прятать файл settings.php ?
Дж
Джавдет
274
Нет, не безопасно ни разу.
Конфиденциальная внутренняя информация, которая НЕ должна быть видна посетителю сайта, должна лежать в таком месте, чтобы она не была доступна извне.
Если вы обратили внимание, когда вы заливаете файлы на хостинг, вы их заливаете не прямо в вашу корневую директорию, а в некоторую внутреннюю папку (html или web или www, к примеру). Это значит, что web-сервер сконфигурирован так, чтобы извне (из интернетов) было видно только содержимое внутренностей этой папки. А вот содержимое папки рядом с папкой сайта уже недоступно извне (из интернетов). Логины и пароли к БД можно хранить там в текстовом файле и подключать именно его.
И если вы сами себе не злобный буратино и не сделали бекдор в папке сайта (случайно или преднамеренно), то такое решение вполне безопасно и широко применяется в этих наших интернетах.
Виктор Туйнов
Виктор Туйнов
74 252
Лучший ответ
Джавдет Например, "../" от корневой директории?
Чиннов Анатолий "Нет, не безопасно ни разу." - чем докажите? Я с вами не согласен...
1. Нет, использовать файлы, лежащие на другом сервере, в include невозможно.

2. Нет, при правильной настройке MySQL подключиться к твоей базе из другого сервера невозможно - даже зная логин/пароль.

3. Если ты попытаешься открыть setting.php в браузере, то увидишь только пустой экран.

4. Чтобы прочитать содержимое setting.php, надо подключиться к твоему серверу через FTP/SSH. Причём это подключение должно обеспечивать доступ к указанному файлу.

Вывод: надо прятать не файл, а пароли FTP, SSH, админки хостинга, админки сайта.
VV
Vasiliy Vasilyevih
78 700
Глобальные переменные, и в перёд
ДК
Дима Крылов
1 051