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

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

Я разрабатываю приложение PHP, которое должно отвечать на запрос от нескольких клиентов, и я думаю: "Может ли любой из клиентов увидеть код PHP, который я пишу?".

4b9b3361

Ответ 1

Нет, если

  • Существует некорректная конфигурация сервера.
  • Существует плохое echo/include где-то

Ответ 2

Нет. Если вы не эхом отдаете их им, где вы на самом деле его используете.

Ответ 3

Использование включает в себя ниже или вне каталога www. (еще не может +1 для Фрэнки)

Не используйте символические ссылки для ваших http-каталогов. Я намеренно использовал это как для показа источника, так и для выполнения в зависимости от пути запроса пользователя до этого, но для этого требуются изменения (или неправильная настройка) httpd.conf и могут быть явно отключены в httpd.conf.

Если вы разрешаете загрузку файлов с помощью fopen, не пропускайте ничего, что пользователь создает для него, или они могут выяснить, как получить его, чтобы захватить любой файл, который они могут найти. Рассмотрим:

fopen('reports/' . $_GET['blah']);

где пользователь переходит в '../index.php'

Ответ 4

Нет, но вы должны принять все меры, чтобы предотвратить это.

Вы всегда должны устанавливать свой секретный код (heck, why not all?) в каталоге ниже вашего рабочего сервера dir (say/www), таким образом, если сервер будет запутан, он не сможет показать ваш код мир, потому что этот код будет включен php, который не работает в первую очередь.

Ответ 5

Если ваш веб-сервер настроен на использование вместо того, чтобы разобрать ваш php, да. Но тогда клиенты не сработают. Таким образом, запрет любых дыр в безопасности, ответ - нет.

Ответ 6

Нет. Предполагая, что вы правильно установили сервер L/UAMP или не распечатываете (эхо, print_r и т.д.) И кишки вашего кода, PHP будет обработан, а логика или HTML, которые он предназначен для вывода, будут используемый на странице, не отображается.

N.B. Если в каталоге или в соответствующем файле .htacess нет "индекса", сервер Apache отобразит список файлов в каталоге, который можно загрузить и просмотреть.

Ответ 7

Одна ошибка для этого - вставить php-тег внутри строки php, например:

$string = "This is the answer: <s><?php echo $answer; ?></s>"; 
echo $string;

Человек сделал Ctrl + C и Ctrl + V того, что должно быть напечатано вдоль строки, но кодер забыл удалить теги php путем отвлечения.