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

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

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

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

Ps: Сервер OS – Ubuntu 9.10, а версия PHP – 5+ (Apache2)

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

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

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

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

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

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

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

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

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