Итак, я делаю базовое программное обеспечение PHP и имею конфигурационный файл. Файл содержит только информацию о базе данных, нет паролей пользователей и т. Д. Однако я объявляю переменные как обычно ($ test = «test»;), и задавался вопросом, может ли кто-то использовать require/include для получения переменных? Я думаю, что они не смогут получить доступ к переменным с помощью file_get_contents(); из-за того, как работает PHP. Но я не уверен в требовании/включении. Очевидно, вы можете сделать это на местном уровне, но как насчет с других сайтов?Может ли другой сайт использовать мой PHP-скрипт извне?
Пример очистить вещи:
- $ DB_HOST
- $ db_user
- $ db_pass
- $ db_base
Теперь http://anotherexample.com/somepage.php бы y быть в состоянии использовать require/include для извлечения PHP-скрипта из example.com и затем повторять переменные?
Спасибо!
нет, если ваш сервер плохо настроен. ваш сервер будет ВЫПОЛНИТ сценарий, и единственное, что получит аутсайдер, - это OUTPUT вашего сценария. например перейдите на ЛЮБОЙ php-страницу в Интернете, сделайте источник просмотра - вы не увидите исходный код php, вы увидите только html, который создал php. –
А, спасибо. Я знаю, что PHP работает на сервере, а не на клиенте, но я не самый продвинутый человек на PHP и хочу проверить, что у меня не было никаких уязвимостей безопасности: P – nfell2009
, конечно, это не говорит о том, что ваш сервер не мог " t утечка источника. например вы испортите настройку файла .conf и отключите php, теперь ваш сервер отправит исходный источник .php, так как он не знает, как его выполнить. вообще говоря, вы, вероятно, ДОЛЖНЫ поместить чувствительные вещи, такие как переменные соединения db, в файлы, которые хранятся вне вашего корня документа. даже если php будет убит каким-то образом, файлы не будут доступны через http. –