Перейти к содержимому

Как посмотреть php код сайта в браузере

  • автор:

Возможно ли для пользователя увидеть исходный PHP-код сайта?

Допустим, Вы создаёте свой сайт, сосотоящий из PHP-страниц, которые содержат HTML-код. Эти страницы находятся в корневой папке на хостинге (там же, где и главная index.php ). Понятно, что пользователь, если откроет в браузере средства разработчика, увидит лишь сгенерированный HTML-код. Вопрос: возможно ли для пользователя при таком раскладе увидеть исходный PHP-код, не взламывая сервер с целью получить доступа к файлам? В частности, прошу Вас упомянуть в ответе программы для сохранения страниц с целью дальнейшего их просмотра с автономном-режиме.

Отслеживать
Боков Глеб
задан 17 ноя 2016 в 1:34
Боков Глеб Боков Глеб
1,116 2 2 золотых знака 25 25 серебряных знаков 69 69 бронзовых знаков

эти программы действуют ровно так же, как и браузер, и магией не обладают. пока сервер не отдает напрямую содержимео файлов, все безопасно

17 ноя 2016 в 1:50

Такая возможность есть, но только если по каким-либо причинам упал PHP, а Apache продолжает работать. Хз как это можно гарантированно воспроизвести (это будет самый крутой способ взлома, если научиться воспроизводить), но сам уже несколько раз видел, как сайты падая выдают исходный код, вместо процессинга PHP. Так что, к сожалению, приведенные ответы не совсем верны.

5 фев 2017 в 18:09

2 ответа 2

Сортировка: Сброс на вариант по умолчанию

Это невозможно ровно до тех пор, пока вы случайно не выключите парсинг PHP-кода в .php-файлах.

Тем не менее, обратившись к файлам, к которым пользователь не должен обращаться, он потенциально так или иначе может навредить вам или даже узнать информацию, которую ему не следует знать. Поэтому рекомендуется делать так, чтобы в директории, доступной по HTTP, был всего 1 PHP-файл: index.php . Этот файл в свою очередь должен уже взаимодействовать с другими PHP-файлами, находящимися уровнем выше этого каталога. Примерно так:

project/ ├── public/ │ ├── index.php │ ├── robots.txt │ └── sitemap.xml └── app/ ├── MyClass.php └── MyAnotherClass.php 

Вы сможете обратиться к index.php , скажем, по адресу localhost/index.php , равно как к localhost/robots.txt и localhost/sitemap.xml , но обратиться к файлам MyClass.php и MyAnotherClass.php по HTTP вы никак не сможете.

Php код в браузере открывается как текст решение?

edward_freedom

Не знаю кто такой Сергей Николаевич ) но или он что то пропустил, или вы.

Подозреваю что у вас связка apache и php, только в apache вы забыли включить модуль php (libapache2-mod-php7) вашей версии. Сейчас ваш веб сервер не понимает php файлов. Или файлы отдаются с другим заголовком, если не ошибаюсь нужно в конфиг вашего хоста добавить что то вроде AddType application/x-httpd-php .php

А ещё, как вы открываете ваш файл в браузере? Запустите сервер и откройте адрес localhost или 127.0.0.1

Ответ написан более двух лет назад
Комментировать
Нравится 1 Комментировать
Ответы на вопрос 1
Evgeniy @Evdokim001
PHP & WordPress developer

PHP работает не на стороне клиента а на стороне сервера. Вам нужен локальный сервер OpenServer, PHP server( не знаю как правильно назвать, это родной сервер чисто под PHP, его можно найти в официальной документации.), XAMP.
Без локального сервера PHP будет выведен как обыкновенный текст)

Ответ написан более двух лет назад
Комментировать
Нравится 2 Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

php

  • PHP
  • +2 ещё

Как решить проблему с миграциями?

  • 1 подписчик
  • 2 часа назад
  • 61 просмотр

Как посмотреть php код сайта в браузере

Здесь могла бы быть ваша реклама

Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006
Откуда: Israel

Помог: 3 раз(а)

Секрет
Теперь, когда вы уже наверняка второпях отправили свой запрос,
я расскажу вам простой секрет, который сэкономит вам уйму ожиданий,
даже если первый ответ по теме последуем сразу же.

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

После этого приходится начинать уточнять этим неграмотным что мне надо.
Они что, сами читать не умеют? А уточнять приходится.
И иногда пока они переварят то что я им скажу проходит и не одна ночь..

Уверен что если бы я им сказал что у меня есть
фиолетовый квадрат, и нужно превратить его в синий треугольник
и я пытался взять кисточку, макнуть в банку и поводить ей по квадрату
но почему то кисточка не принимала цвет краски в банке,
то на мой вопрос — где взять правильные банки мне бы ответили гораздо быстрее
предложив её открыть, а не тратить еще стольник на жестянку.

Поэтому с тех пор я строю свои вопросы по проверенной давным давно схеме:
Что есть
Что нужно получить
Как я пытался
Почему или что у меня не получилось.

На последок как оно происходит на форумах

Цитата:

Новичок: Подскажите пожалуста самый крепкий сорт дерева! Весь инет перерыл, поиском пользовался!
Старожил: Объясни, зачем тебе понадобилось дерево? Сейчас оно в строительстве практически не используется.
Новичок: Я небоскрёб собираюсь строить. Хочу узнать, из какого дерева делать перекрытия между этажами!
Старожил: Какое дерево? Ты вообще соображаешь, что говоришь?
Новичок: Чем мне нравиться этот форум — из двух ответов ниодного конкретного. Одни вопросы неподелу!
Старожил: Не нравится — тебя здесь никто не держит. Но если ты не соображаешь, что из дерева небоскрёбы не строят, то лучше бы тебе сначала школу закончить.
Новичок: Не знаите — лучше молчите! У меня дедушка в деревянном доме живёт! У НЕГО НИЧЕГО НЕ ЛОМАЕТСЯ.
Но у него дом из сосны, а я понимаю, что для небоскрёба нужно дерево прочнее! Поэтому и спрашиваю. А от вас нормального ответа недождёшся.
Прохожий: Самое крепкое дерево — дуб. Вот тебе технология вымачивания дуба в солёной воде, она придаёт дубу особую прочность:
Новичок: Спасибо, братан! То что нужно.

Отредактировано модератором: Uchkuma, 26 Апреля, 2011 — 10:21:12

Первая страница на PHP

Создайте файл с именем hello.php в корневом каталоге веб-сервера ( DOCUMENT_ROOT ) и запишите в него следующее:

Пример #1 Первый скрипт на PHP: hello.php

Откройте данный файл в браузере, набрав имя вашего веб-сервера и /hello.php . При локальной разработке эта ссылка может быть чем-то вроде http://localhost/hello.php или http://127.0.0.1/hello.php , но это зависит от настроек вашего сервера. Если всё настроено правильно, этот файл будет обработан PHP и браузер выведет следующий текст:

   Тестируем PHP  

Привет, мир!

Эта программа чрезвычайно проста, и для создания настолько простой странички даже необязательно использовать PHP. Все, что она делает, это вывод Hello World , используя инструкцию PHP echo . Заметьте, что файл не обязан быть выполняемым или ещё как-то отличаться от других файлов. Сервер знает, что этот файл должен быть обработан PHP, так как файл обладает расширением «.php», о котором в настройках сервера сказано, что подобные файлы должны передаваться PHP. Рассматривайте его как обычный HTML-файл, которому посчастливилось заполучить набор специальных тегов (доступных также и вам), способных на кучу интересных вещей.

Если у вас этот пример не отображает ничего или выводит окно загрузки, или если вы видите весь этот файл в текстовом виде, то, скорее всего, ваш веб-сервер не имеет поддержки PHP или был сконфигурирован неправильно. Попросите вашего администратора сервера включить такую поддержку. Предложите ему инструкцию по установке: раздел Установка данной документации. Если же вы разрабатываете скрипты на PHP дома (локально), то также прочтите эту главу, чтобы убедиться, что вы все настроили верно. Убедитесь также, что вы запрашиваете файл у сервера через протокол http. Если вы просто откроете файл из вашей файловой системы, он не будет обработан PHP. Если проблемы всё же остались, не стесняйтесь попросить помощи одним из » множества доступных способов получения поддержки по PHP.

Цель примера — показать формат специальных тегов PHP. В этом примере мы использовали . Таким образом можно где угодно «запрыгивать» и «выпрыгивать» из режима PHP в HTML файле. Подробнее об этом можно прочесть в разделе руководства Основной синтаксис.

Замечание: Замечание о переводах строк

Переводы строк немногое означают в HTML, однако считается хорошей идеей поддерживать HTML в удобочитаемом виде, перенося его на новую строку. PHP автоматически удаляет перевод строки, идущий сразу после закрывающего тега ?> . Это может быть чрезвычайно полезно, если вы используете множество блоков PHP-кода или подключаете PHP-файлы, которые не должны ничего выводить. В то же время, это может приводить в недоумение. Можно поставить пробел после закрывающего тега ?> и тогда пробел будет выведен вместе с переводом строки, или же вы можете специально добавить перевод строки в последний вызов echo/print из блока PHP-кода.

Замечание: Пара слов о текстовых редакторах

Существует множество текстовых редакторов и интегрированных сред разработки (IDE), в которых вы можете создавать и редактировать файлы PHP. Список некоторых редакторов содержится в разделе » Список редакторов PHP. Если вы хотите порекомендовать какой-либо редактор, посетите данную страницу и попросите добавить редактор в список. Использование редактора с подсветкой синтаксиса может быть очень большим подспорьем в вашей работе.

Замечание: Пара слов о текстовых процессорах

Текстовые процессоры (StarOffice Writer, Microsoft Word, Abiword и др.) в большинстве случаев не подходят для редактирования файлов PHP. Если вы всё же хотите использовать какой-либо из них для тестового скрипта, убедитесь, что сохраняете файл как простой текст (plain text), иначе PHP будет не в состоянии прочесть и запустить ваш скрипт.

Теперь, когда вы успешно создали работающий PHP-скрипт, самое время создать самый знаменитый PHP-скрипт! Вызовите функцию phpinfo() и вы увидите множество полезной информации о вашей системе и настройке, такой как доступные предопределённые переменные, загруженные PHP-модули и параметры настройки. Уделите некоторое время изучению этой важной информации.

Пример #2 Получение информации о системе из PHP

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *