Я разрабатываю приложение PHP, которое должно отвечать на запрос от нескольких клиентов, и я думаю: «Может ли кто-нибудь из клиентов увидеть код PHP, который я пишу?».
Нет, если
Нет. Если вы не эхом отдаете их им, где вы его используете.
Использование включает в себя снизу или за пределами обслуживаемого каталога www. (еще не может +1 для Фрэнки)
Не используйте символические ссылки для своих http-каталогов. Я намеренно использовал это как для показа, так и для запуска в зависимости от пути запроса пользователя, но для этого требуются изменения (или неправильная настройка) httpd.conf и могут быть явно отключены в httpd.conf.
Если разрешить загрузку файлов с помощью fopen, не пропускайте ничего, что пользователь создает для него, или они могут выяснить, как получить его, чтобы захватить любой файл, который они могут найти. Рассматривать:
fopen('reports/' . $_GET['blah']);
где пользователь переходит в '../index.php'
Нет, но вы должны принять все меры, чтобы предотвратить это.
Вы всегда должны устанавливать свой чувствительный код (heck, why not all?) В каталоге ниже вашего рабочего сервера dir (say / www), таким образом, если сервер будет запутан, он не сможет показать ваш код миру, потому что этот код будет включен php, который не работает в первую очередь.
Если у вас установлен веб-сервер, вместо того, чтобы анализировать ваш php, да. Но тогда клиенты не сработают. Таким образом, запрет любых дыр в безопасности, ответ – нет.
Нет. Предполагая, что вы правильно установили сервер L / UAMP или не распечатываете (эхо, print_r и т. Д.) И кишки вашего кода, PHP будет обработан, а логика или HTML – для вывода будет использоваться на странице, не видно.
NB Если в каталоге или в соответствующем файле .htacess нет «индекса», сервер Apache отобразит список файлов в каталоге, который можно загрузить и просмотреть.
Одна ошибка для этого – вставить тег php внутри строки php, например:
$string = "This is the answer: <s><?php echo $answer; ?></s>"; echo $string;
Человек сделал Ctrl + C и Ctrl + V что-то, что должно быть напечатано вдоль строки, но кодер забыл удалить теги php путем отвлечения.