Подтвердить что ты не робот

Можно ли просмотреть PHP-код веб-сайта?

Можно ли каким-то образом просмотреть другие веб-страницы php файлов/кодов?

Или перефразировать вопрос. Могут ли мои php-коды просматривать кто-либо, кроме тех, у кого есть доступ к файлу?

Если да, как я могу лучше всего это предотвратить?

Ps: Серверная ОС - Ubuntu 9.10, а версия PHP - 5+ (Apache2)

4b9b3361

Ответ 1

Ошибка или уязвимость безопасности на сервере (либо Apache, либо движок PHP), либо собственный PHP-код могут позволить злоумышленнику получить доступ к вашему коду.

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

Поскольку невозможно устранить все ошибки из используемого вами программного обеспечения, если кто-то действительно хочет украсть ваш код, и у них достаточно ресурсов, есть разумный шанс, который они смогут.

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

Прочтите раздел безопасности руководства PHP в качестве отправной точки для обеспечения безопасности кода.

Ответ 2

Используя эксплойты или на плохо настроенных серверах, можно загрузить исходный код PHP. Тем не менее, вы можете либо запутывать и/или шифровать свой код (используя Zend Guard, Ioncube или аналогичное приложение), если вы хотите убедиться, что ваш источник не будет читаемым (чтобы быть точным, обфускация сама по себе может быть отменена с учетом достаточного количества времени/ресурсов, но я еще не нашел дешифратор IonCube или Zend Guard...).

Ответ 3

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

Если кто-то компрометирует ваш сервер, вы рискуете. Убедитесь, что веб-сервер может писать только в те места, в которых это абсолютно необходимо. В разделе /​​var есть несколько мест, которые должны быть правильно настроены вашим дистрибутивом. Они не должны быть доступны через Интернет. /var/www не должен быть доступен для записи, но может содержать подкаталоги, написанные веб-сервером для динамического содержимого. Для них необходимо отключить обработчики кода.

Убедитесь, что вы ничего не делаете в своем php-коде, что может привести к инъекции кода. Другой риск - обход каталога, используя пути, содержащие.. или начинающиеся с /. Apache уже должен быть исправлен, чтобы предотвратить это, когда он обрабатывает пути. Однако, когда он запускает код, включая php, он не контролирует пути. Избегайте всего, что позволяет веб-клиенту передавать путь к файлу.