- INDEX.PHP — полная справка
- Содержание
- Общее определение index.php
- Как заставить Apache первым загружать index.php (options)
- Как скрыть index.php через htaccess
- Как все запросы отправлять через index.php (redirect)
- Как скачать index.php
- Дополнительная информация по теме
- Настраиваем Apache, PHP и MySQL вручную
- Предупреждение
- Настройка MySQL
- Примечание
- Настройка Apache
- Ресурсы
- Настройка PHP
- Конфигурирование PHP
- Настройка Apache для работы с PHP
- Перезагрузка и тестирование PHP
- Установка и настройка XDebug
- Что такое файл index.php и зачем он нужен?
- Что такое файл index.php?
- Файл index.php
- Может ли не быть файла index.php?
- Как создать файл index.php?
- Файл index.php и веб-сервер
INDEX.PHP — полная справка
Содержание
Общее определение index.php
Часто встречаете комбинацию index.php? Скорее всего что да, так как это самый часто используемый (как основной) файл при работе PHP script языка на Apache сервере.
index.php — самый распространенный стартовый файл для начала работы скриптового языка программирования PHP на WEB сервере, в основном Apache.
Для новичка стоит только знать, что большинство сайтов (sites) свою работу начинают именно с этого файла (file). Размещается файл в корне основного хранилища файлов сайта. Также может располагаться внутри директорий (directory). Тогда Apache сервер будет искать и грузить в первую очередь index.php в запрашиваемой директории, если не прописано что-либо иное в файле настроек сервера htaccess
Как заставить Apache первым загружать index.php (options)
Как правильно делать:
Многие делают еще так:
Тут стоит немного объяснить алгоритм действий:
- Пытаемся загрузить index. php .
- Если index.php не обнаружен в корневом директории (directory), то пытаемся загрузить index. html .
- Если index.html не обнаружен в корневом директории (directory), то пытаемся загрузить index. s html
И так далее, пока не закончится все, что будет у вас перечислено в строчке DirectoryIndex.
Есть много других опций (options) для управления загрузками, но это надо читать более расширенную спецификацию htaccess.
Используют такой метод, как правило, в том случае, если хотят защитить index.php от сканирования на предмет различных уязвимостей, например:
Если index.php будет другой, то все, что идет после index.php, не имеет никакого значения. Но существуют другие способы определить, какой именно файл является главным загрузочным на WEB сервере. Так что особой безопасности от этого метода не получится. А вот неудобства использования возрастают. Поэтому к этому методу стоит относиться с особой осторожностью и продуманностью.
Как скрыть index.php через htaccess
На WEB сервере Apache должен быть включен модуль mod_rewrite. На сегодняшний день данный модуль включен практически у каждого хостера, но в любом случае в этом нужно убедиться, иначе не получиться работать. Данный метод в основном используют SEO оптимизаторы.
Код для скрытия index.php
Как все запросы отправлять через index.php (redirect)
Тут тоже в общем-то ничего сложного
Как скачать index.php
При соблюдении WEB мастером правил безопасности скачать index.php нельзя по определению.
Можно скачать index.php только в случаях, если:
- Неправильно прописаны настройки в (.htaccess). Здесь виноват только сам WEB мастер.
- Имеется доступ к серверу через FTP протокол. Самый распространенный способ. Жертва заманивается на заранее сделанный сайт так как надо под различными предлогами (Вы выиграли миллион, ваш аккаунт заблокирован в социальных сетях и так далее). Как только вы попадаете на необходимый сайт, у вас копируют cookies. После этого пытаются их использовать для входа уже на ваш сайт. Избежать этого легко, достаточно не пользоваться WEB интерфейсами для управления своим сайтом и не устанавливать на свой компьютер каких-либо программ от неизвестных вам авторов с неизвестных источников, например: всякие ускорители интернета или сомнительные toolbar для браузера с сомнительной эффективностью, но очень сильной настойчивостью его установить.
- На сервере установлен дополнительный скрипт (back door). Через такой скрипт можно получить любой файл с сервера, при этом чтобы он не был выполнен обработчиком PHP. Такие файлы можно загрузить на сервер через распространенные и известные уязвимости систем управления контентом (CMS). Например: WordPress, Joomla, DLE, Drupal, Codeigniter и так далее. Далее, под видом аватара загружается специально сформированный .gif файл, который в последствии можно вызвать, зная его расположение на сервере жертвы. Если CMS неправильно обрабатывает такие файлы, то через него можно получить необходимые доступы к сайту. Либо на CMS, типа WordPress, Joomla и другие устанавливается широко разрекламированный како-либо plugin (например: php search index), который вроде бы и выполняет свою функцию, но при этом сливает данные о сайте своим разработчикам, тем самым позволяя им использовать сайт так, как им захочется.
Вот как-то так. Если у вас есть вопросы, задавайте их в комментариях, и в скором времени разъяснительный ответ появиться в этой статье.
Дополнительная информация по теме
Описание процедуры получения справки 083-у, возможных мест ее выручения, сравнение достоинств и недостатков каждого
В статье рассматриваются моменты как увеличить число активных продаж и другие сопутствующие функции
Как и какими способами можно организовать пассивные продажи не привлекая для этого особых усилий
Краткое описание почему интересная работа (проекты) значительно больше привлекают великих людей
Источник
Настраиваем Apache, PHP и MySQL вручную
В этой статье мы приведем краткий обзор этапов настройки Apache в среде Windows , а также ссылки на различные дополнительные ресурсы.
Предупреждение
Если на вашем компьютере уже установлен один из вариантов AMP :
- Впоследствии вам будет затруднительно вернуться к старой версии AMP . Потому что различные настройки, которые мы будем задавать, перепишут значения реестра и приведут к изменению среды в целом;
- Если вам нужно сохранить какие-либо конфигурации ( Apache , PHP , MySQL ) или данные, прежде чем выполнять шаги, описанные в этой инструкции, создайте все необходимые резервные копии.
Настройка MySQL
- Загрузите установочную программу MySQL , соответствующую вашей версии платформы;
- Запустите установочную программу и выберите вариант « Настроить »;
- Выполните все этапы установки и в конце нажмите кнопку « Готово »;
- После этого откроется окно « Мастер настройки сервера MySQL «:
- Убедитесь, что у вас выбран вариант « Стандартная конфигурация » и перейдите к следующему шагу;
- Если у вас уже установлен MySQL , вы можете получить сообщение « Служба Windows с именем MySQL уже существует. Пожалуйста, удалите эту службу корректно или выберите другое имя для новой службы «. В этом случае выберите другое имя для сервера MySQL ;
- В следующем окне установите флажок для опции « Включить директорию Bin в PATH Windows », чтобы вы могли получить доступ к различным утилитам MySQL из командной строки;
- В следующем окне установите пароль для пользователя root MySQL , который обладает наибольшим набором прав доступа к серверу;
- На следующем и последнем этапе вы должны сохранить все изменения. Для этого нажмите кнопку « Выполнить ». После этого служба будет запущена.
Примечание
Чтобы сделать эту инструкцию максимально доступной, мы пропустили несколько сценариев конфигурации сервера MySQL для Apache Windows 7 . Это и многое другое изложено здесь .
По умолчанию MySQL устанавливается с режимом STRICT , который может привести к возникновению некоторых ошибок при использовании расширений и приложений, не рассматриваемых в данной инструкции. Для получения дополнительной информации обратитесь к этому ресурсу.
Настройка Apache
- Загрузите инсталляционный пакет. На данный момент предпочтительно использовать версию 2.2;
- Запустите мастер установки и выполните все этапы, пока не дойдете до шага « Информация о сервере ». Здесь задайте для каждого из полей приведенные ниже значения, если у вас нет конкретных требований для настройки сервера Apache :
1. localhost
2. localhost
3. admin@localhost
- Завершите все этапы мастера установки, нажимая « Далее », после чего он установит и запустит веб-сервер Apache в качестве службы Windows ;
- Теперь в строке состояния Windows вы сможете увидеть перо розового цвета с зеленой кнопкой, указывающее на то, что Apache запущен и работает. Перейдя в браузере по адресу http://localhost/ , вы должны увидеть страницу, на которой указывается, что служба работает;
- Теперь давайте перейдем к директории, в которой установлен Apache. Как правило, это C:Program FilesApache Software FoundationApache2.2 — и рассмотрим различные папки, содержащиеся в ней:
- bin — содержит различные бинарные файлы, некоторые из них перечислены ниже. Чтобы получить доступ к этим приложениям, большинство из которых являются командами, нам нужно добавить путь к папке bin в глобальной переменной PATH . Для этого кликните правой кнопкой мыши по иконке Мой компьютер> Свойства> Дополнительные параметры системы> Переменные среды и в списке « Системные переменные » найдите и выберите переменную PATH , нажмите на кнопку « Редактировать » и добавьте в конце точку с запятой ( если она еще не добавлена ), а затем введите абсолютный путь к папке bin . И в диалоговом окне « Свойства системы » нажмите кнопку « Применить »:
- Файл httpd.exe — это веб-сервер Apache , который создал несколько дочерних процессов, обслуживающих целый ряд входящих запросов клиентов в соответствии с требованиями директивы MaxClients ;
- Файл ab.exe — это инструмент, который устанавливается вместе с Apache и позволяет увидеть, насколько производительно работает приложение за единицу времени.
- conf — папка, в которой находятся различные конфигурационные файлы. В нашем случае наибольший интерес представляют следующие:
- httpd.conf — большинство директив сервера находятся в этом файле и для легкого доступа к ним вы должны связать тип файла .conf с текстовым редактором « Блокнот »;
- extrahttpd-vhosts.conf — содержит директивы для использования локального сервера в качестве виртуального хоста, чтобы запускать на вашем компьютере несколько серверов. Один из сценариев его использования — на стадии разработки, если вы не хотите трогать фактический домен, вы можете работать на локальной копии, при этом допустимо возникновение в этом файле мелких ошибок;
- htdocs — корневой каталог веб-сервера по умолчанию, здесь отображается http://localhost/ , если вы не перенастроили его в файле httpd.conf ;
- logs — журналы доступа и ошибок, связанные с различными проблемами, возникающими при установке Apache на Windows 7 или даже в приложении.
Ресурсы
Настройка PHP
Скачайте PHP и выберите предпочтительную версию в формате Zip . Различные настраиваемые опции связаны с тем, как PHP-код базы компилируется в двоичный код, и вам ничего не нужно изменять.
Создайте в папке, где у вас устанавливаются программные файлы, директорию под названием PHP .
Найдите загруженный Zip-файл , переместите его во вновь созданную папку и распакуйте архив.
Теперь добавим путь к PHP к глобальной переменной PATH . Для этого следуйте инструкциям, приведенным выше.
Конфигурирование PHP
Конфигурирование PHP сводится к редактированию файла php.ini . Пример файла для различных сценариев уже находятся в вашей папке PHP . Переименуйте файл php.ini-development в php.ini и откройте его в текстовом редакторе. Доступные значения для различных параметров задокументированы в файле php.ini ( обратите внимание, что это общие настройки для сервера, применяемые для всех проектов ):
- max_execution_time — если у вас есть скрипты, которые выполняются слишком долго, и сервер возвращает различные неожиданные результаты, потому что не может выполнить весь процесс;
- memory_limit ;
- error_reporting ;
- display_errors ;
- log_errors — переменная, на которую нужно обращать внимание при сценариях разработки;
- upload_tmp_dir ;
- upload_max_filesize ;
- extension_dir — чтобы не усложнять все, мы укажем папку, в которой расположены следующие расширения, вынеся эту переменную из комментариев и задав для нее абсолютный путь к этой папке. Вся строка должна выглядеть следующим образом:
- Динамические расширения содержат дополнительные модули, которые можно загрузить вместе с PHP . В файле вы найдете закомментированные названия модулей, которые были добавлены в пакете с PHP ( директория ext ). Если вы хотите, активировать какой-либо из этих модулей, выведите из комментариев одно из следующих имен расширений:
- php_curl.dll ;
- php_gd2.dll ;
- php_mbstring.dll ;
- php_mysql.dll ;
- php_mysqli.dll ;
- php_pdo.dll ;
- php_pdo_mysql.dll ;
- php_xsl.dll ;
- session.save_path .
Настройка Apache для работы с PHP
Для настройки PHP в Apache откройте файл httpd.conf. и в разделе « Dynamic Shared Object (DSO) Support » добавьте следующие директивы ( если вы разместили папку PHP в другом месте, внесите соответствующие изменения для пути к файлу php5apache2_2.dll ):
Для DirectoryIndex добавьте index.php и index.htm в качестве возможных файлов, если запрашивается каталог. Это делается следующим образом:
В конце файла добавьте следующую строку, которая будет указывать, где размещается файл php.ini :
Перезагрузка и тестирование PHP
После внесения изменений в конфигурационные файлы вам необходимо перезапустить Apache , чтобы изменения вступили в действие. Поэтому давайте перезапустим Apache с помощью инструмента Apache Monitor , который можно найти в строке состояния Windows .
Теперь мы протестируем, как работает PHP . Перейдите в корневой каталог документов веб-сервера ( по умолчанию это C:Program FilesApache Software FoundationApache2.2htdocs ) и добавьте файл с именем phpinfo.php со следующим содержимым:
Таким образом, мы выведем страницу, содержащую информацию о настройках PHP , а также различных модулей, которые загружены в данный момент. Теперь в браузере перейдите по адресу http://localhost/phpinfo.php .
Установка и настройка XDebug
Пакет установки Apache Php MySQL в Windows 7 будет неполным без Xdebug . На этой странице вы сможете найти актуальную версию Xdebug .
Скопируйте всю страницу phpinfo , которую мы запустили ранее и вставьте ее в текстовое поле, после этого следуйте инструкциям по установке.
Источник
Что такое файл index.php и зачем он нужен?
Для того, чтобы понять эту статью, вам уже нужно быть знакомым с PHP хотя бы на самом базовом уровне, быть чуть-чуть знакомым с консолью и очень желательно уже уметь запускать простые программы на PHP. Но я попытаюсь всё это объяснить еще раз.
Что такое файл index.php?
Давайте разберемся, что такое файл index.php. Если говорить формальное — это стартовая точка запуска программы на PHP. Это очень важно, хотя и звучит не очень понятно. Чтобы разобраться, что такое index.php, сначала нужно коротко понять как работает сам PHP.
Возможно, вы уже знаете, что PHP — это язык программирования. Любой язык программирования работает не сам по себе, а выполняет инструкции, написанные программистом, которые обычно называются «исходными кодами» (source code). Исходный код, по сути — это и есть программа. Так вот, исходный код программы не обязал содержаться в одном файле. Он может находиться в разных файлах. И у этих файлов могут быть любые имена.
Файл index.php
Тогда почему есть файл, который обязан называться index.php? Это уже относится только к PHP. Дело в том, что PHP должен знать, как именно запустить вашу программу. Ему нужно указать, откуда она начинается. Здесь в дело вступает файл index.php: его название указывает на то, что его нужно запустить первым. Тут не надо думать, надо просто запомнить: если в каталоге есть 1000 файлов с PHP-кодом и один файл index.php, то вся программа начнется с него, он запустится первым.
Может ли не быть файла index.php?
Тут придется немного углубиться в тему. Дело в том, что поиском файла index.php занимается не сам PHP. Давайте предположим, что вы сделали простой сайт. И он находится в каталоге /var/www/yourawesomewebsite.ru/public_html/ (не удивляйтесь отсутствию буквы диска в начали пути — это пути до файлов в linux-системах). В настройках вашего сайта для вашего веб-сервера (apache или nginx) указано, где его искать. Веб-сервер — это просто программа, которая принимает сетевые запросы (из браузера, в данном случае).
Таким образом, когда пользователь в браузере откроет ссылку http://yourawesomewebsite.ru/ (домен только для примера!) — на самом деле запрос придет к вашему серверу, запустится ваш веб-сервер (nginx или apache) и уже он обратится в каталог /var/www/yourawesomewebsite.ru/public_html/, найдет там файл index.php, «прогонит» код через PHP и выдаст результат обратно пользователю. Эта тема требует несколько углубленного изучения, но основные идеи я вам рассказал. Пишите вопросы в комментариях.
Как создать файл index.php?
Как и все остальные файлы исходных кодов — файл index.php является простым текстовым файлом. Чтобы создать файл index.php, потребуется всего лишь создать обычный текстовый файл. Вы можете использовать для этого любой текстовый редактор, который вам нравится (и который сохраняет в результате plain text, конечно). Например «Блокнот» в Windows, Sumlime Text (который я рекомендую), командную строку сервера и так далее.
Давайте создадим index.php, который в результате своей работы посчитает сумму двух чисел? Для этого откройте текстовый редактор, о котором мы говорили. Напишите туда следующий код:
Закрывающий тег PHP ?> ставить не обязательно. Когда возможно (если весь файл состоит из PHP-кода, например) — лучше его не ставить, это удобно.
Теперь сохраните этот файл с названием index.php. Далее давайте запустим его через интерпретатор PHP. Для этого в консоли выполните команду:
Обратите внимание, что у вас должен быть настроен PHP соответствующим образом, чтобы делать такой запуск. Путь до файла php.exe (или php в linux) должен быть прописан в PATH для вашего окружения. Иначе напишите полный путь до интерпретатора PHP.
Если вы начинающий программист, я рекомендую вам разобраться и установить Linux на свой компьютер (удалять Windows при этом не обязательно). Дело в том, что все сервера работают на linux и вам придется столкнуться с ним рано или поздно. Лучше — рано, еще и потому, что работать в linux (когда вы с ним разберетесь) банально удобнее, он лучше приспособлен для программирования. А какой-нибудь nginx в Windows, например, вообще установить невозможно (придется сильно помучиться).
Файл index.php и веб-сервер
Настройка веб-сервера выходит за рамки данной статьи. Тем более, что веб-серверов много и все они разные. Поэтому просто укажу на некоторые важные вещи.
Как я уже сказал, в настройках конкретного сайта для веб-сервер всегда должно быть указано, в каком каталоге располагается сайт. Именно в нем веб-сервер начнет искать файл index.php. Но если такой файл отсутствует, то веб-сервер попробует найти файл index.html или index.htm (всё это, конечно, настраивается). Поэтому название файла index.php — это прямая калька с файла index.html, который является «стартовым» для сайта, написанного на чистом HTML (представляете, такие были).
Во-вторых, даже если вы всё настроили правильно, вы должны быть уверены, что веб-сервер имеет соответствующие права, чтобы открыть ваш файл index.php. Почитайте что-нибудь про «Права и доступы в Linux», ничего конкретного порекомендовать я тут не могу.
Если вы добавите HTML в пример с подсчетом чисел (см. выше), то при открытии через интерпретатор (то есть через консоль) вы не увидите HTML-страницу. HTML обрабатывается только браузером, поэтому в этой статье я приводить такой пример не стал.
Умоляю, не пишите говно-код на PHP. Выучите язык хорошо перед тем, как начинать работать. Я так устал рефакторить говно, написанное идиотами. 🙂 Это тема заслуживает отдельной статьи, пожалуй.
Источник