Лучшая безопасность PHP, сохраняя включаемые файлы вне общей папки? - PullRequest
5 голосов
/ 15 октября 2011

Такие языки, как Perl, Pythong и т. Д., Обычно считаются более безопасными по сравнению с PHP.Помимо возможных дыр в безопасности, одной из причин может быть (я не знаю, я спрашиваю), что мы не помещаем исполняемые файлы Perl и Python в общую папку.Поскольку файлы PHP не являются исполняемыми, безопасно хранить их в общей папке.

Является ли разумным и практичным подходом хранить файлы php вне общей папки, чтобы ограничить возможный доступ злоумышленников?Если да, это часто?потому что я не вижу никаких недостатков (кроме немного более сложной обработки файлов, распространяемых в разных местах);но если это полезно для повышения безопасности, это стоит рассмотреть.Поскольку я не знаю, как хакеры подключают сайт на основе php, я понятия не имею, как он может повысить безопасность.

1 Ответ

9 голосов
/ 15 октября 2011

Разумно ли и практично хранить php-файлы вне общая папка для ограничения возможного доступа злоумышленников?

Да.

Если да, распространено ли это?

Да.

но если это полезно для повышения безопасности,

Ваше PHP-приложение обычно состоит из множества отдельных файлов. Обычно они включаются из других файлов. Например, вы можете иметь:

index.php
lib/db.php
lib/auth.php

В этом примере, поскольку все файлы находятся в корне документа, внешний пользователь может нажать URL-адрес http://domain.com/lib/auth.php и запустить этот файл напрямую, независимо от системы аутентификации, которая должна его получать. Будет ли он делать что-нибудь плохое, когда запускается сам по себе? Возможно нет. Но для безопасности вам следует переместить включаемые файлы за пределы корня документа, чтобы веб-сервер не мог обслуживать их напрямую.

(Обратите внимание, что эта уязвимость не является исключительной для PHP, и поэтому рекомендуется хранить ваши библиотеки вне корня документа независимо от платформы.)

...