Это правда, что если вы оставите файлы в Интернете root, веб-сервер выполнит их, когда пройдет соответствующий URI запроса.
Однако следует понимать, что исходный код не является (обычно) для просмотра клиентами. Например, когда кто-то делает запрос на /index.php
, он не видит исходный код PHP. Они видят только его вывод. Аналогично, если кто-то должен был сделать запрос на /config.php
, учитывая код примера на ваш вопрос, он не должен получить ничего, кроме пустого ответа. Итак, чтобы ответить на ваш вопрос ...
Могут ли другие просто включить www.example.com/config.php в php файлы и выполнить код с моим $ conn?
Нет, они не могут.
Чтобы выполнить код, они должны запускать код на вашем сервере.
Теперь, все еще хорошая практика - получить ваш config.php
и любой другие включают вне сети root. Причиной этого является предотвращение раскрытия кода в случае, если на вашем веб-сервере отключено PHP. Нередко можно попробовать обновить ваш веб-сервер или что-то в этом роде, сломать конфигурацию, случайно отключить PHP на работающем сервере, и теперь каждый может увидеть весь ваш исходный код. Если этот исходный код отсутствует в сети root, он ничего не может запросить.
Кроме того, часто есть дополнительные открытые разрешения для файлов в вашей сети root. Так что это хорошая практика - держать вещи оттуда, когда вы можете ... но не напрямую по той причине, о которой вы беспокоились.