PHP
Можно ли использовать переменные с другого сервера через include и безопасно ли это?
Например, есть у меня файл settings.php с логином и паролем от БД, дальше ещё и подключение через mysqli по этим переменным. Могёт ли человек, зная название файла, использовать эти данные на своём сайте? Если да, то куда прятать файл settings.php ?
Нет, не безопасно ни разу.
Конфиденциальная внутренняя информация, которая НЕ должна быть видна посетителю сайта, должна лежать в таком месте, чтобы она не была доступна извне.
Если вы обратили внимание, когда вы заливаете файлы на хостинг, вы их заливаете не прямо в вашу корневую директорию, а в некоторую внутреннюю папку (html или web или www, к примеру). Это значит, что web-сервер сконфигурирован так, чтобы извне (из интернетов) было видно только содержимое внутренностей этой папки. А вот содержимое папки рядом с папкой сайта уже недоступно извне (из интернетов). Логины и пароли к БД можно хранить там в текстовом файле и подключать именно его.
И если вы сами себе не злобный буратино и не сделали бекдор в папке сайта (случайно или преднамеренно), то такое решение вполне безопасно и широко применяется в этих наших интернетах.
Конфиденциальная внутренняя информация, которая НЕ должна быть видна посетителю сайта, должна лежать в таком месте, чтобы она не была доступна извне.
Если вы обратили внимание, когда вы заливаете файлы на хостинг, вы их заливаете не прямо в вашу корневую директорию, а в некоторую внутреннюю папку (html или web или www, к примеру). Это значит, что web-сервер сконфигурирован так, чтобы извне (из интернетов) было видно только содержимое внутренностей этой папки. А вот содержимое папки рядом с папкой сайта уже недоступно извне (из интернетов). Логины и пароли к БД можно хранить там в текстовом файле и подключать именно его.
И если вы сами себе не злобный буратино и не сделали бекдор в папке сайта (случайно или преднамеренно), то такое решение вполне безопасно и широко применяется в этих наших интернетах.
Джавдет
Например, "../" от корневой директории?
Чиннов Анатолий
"Нет, не безопасно ни разу." - чем докажите? Я с вами не согласен...
1. Нет, использовать файлы, лежащие на другом сервере, в include невозможно.
2. Нет, при правильной настройке MySQL подключиться к твоей базе из другого сервера невозможно - даже зная логин/пароль.
3. Если ты попытаешься открыть setting.php в браузере, то увидишь только пустой экран.
4. Чтобы прочитать содержимое setting.php, надо подключиться к твоему серверу через FTP/SSH. Причём это подключение должно обеспечивать доступ к указанному файлу.
Вывод: надо прятать не файл, а пароли FTP, SSH, админки хостинга, админки сайта.
2. Нет, при правильной настройке MySQL подключиться к твоей базе из другого сервера невозможно - даже зная логин/пароль.
3. Если ты попытаешься открыть setting.php в браузере, то увидишь только пустой экран.
4. Чтобы прочитать содержимое setting.php, надо подключиться к твоему серверу через FTP/SSH. Причём это подключение должно обеспечивать доступ к указанному файлу.
Вывод: надо прятать не файл, а пароли FTP, SSH, админки хостинга, админки сайта.
Глобальные переменные, и в перёд
Джавдет
?
Похожие вопросы
- Почему для работы php используют http сервер, а веб-приложения на jave, nodeJS или Go, http сервер не требуют?
- Не работает PHP include на хостинге
- Не могу передать переменную в php
- PHP&SQL как вставить переменную в запрос sql;
- Как проще, лучше и быстрее из бд получить данные и поместить сразу в переменную или поместить в цикл и оттуда извлекать
- HTTP://, создание новых файлов на сервере
- маленький скрипт, на одном сервере работает нормально на другом не очень.
- Множественный клик по ссылке на низком интернет соединении. Реакция сервера?
- Изображения на странице сжирают всю память и "кладут" сервер.
- Загрузка файлов на сервер