Что такое 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)

Как правильно делать:

Многие делают еще так:

Тут стоит немного объяснить алгоритм действий:

  1. Пытаемся загрузить index. php .
  2. Если index.php не обнаружен в корневом директории (directory), то пытаемся загрузить index. html .
  3. Если 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-у, возможных мест ее выручения, сравнение достоинств и недостатков каждого

Читайте также:  Номер момо в вайбере настоящий

В статье рассматриваются моменты как увеличить число активных продаж и другие сопутствующие функции

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

Краткое описание почему интересная работа (проекты) значительно больше привлекают великих людей

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

Однако я не понимаю, когда мне нужно использовать страницу index.php. Скажем, например, если у меня только простая страница входа на мою индексную страницу, вполне может быть просто простая страница html. Правильно? Тогда почему я хочу сделать его index.php вместо index.html?

Пример образцовой ситуации был бы велик.

Вам нужно будет выбрать расширение PHP (.php), если вы хотите, чтобы в файле исполнялся PHP-код. PHP-код – это код между открытием или и закрывающие ?> теги.

Если код PHP не должен быть выполнен, вы можете использовать расширение .html.

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

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

Есть еще одна вещь, на которую следует обратить внимание. Когда вы вводите только URL-адрес (без имени файла), например:

существует порядок расширений (имен файлов), которые веб-сервер (apache) ищет индексный документ. Например, config apache может содержать раздел, например:

Это означает, что индексный документ выполняется в указанном выше порядке. Это означает, что если вы помещаете index.html и index.php в одну и ту же папку – и имея конфигурацию выше – всегда индекс. html будет доставлен сервером.

Это не повредит веб-сайту, если вы будете обслуживать каждую страницу как .php. Apache очень быстро обслуживает любые php, не говоря уже о том, что содержит только статический html.

Как новичок, вы можете найти php, который вам пригодится, позволяя создавать простые шаблоны. Заголовок и нижний колонтитул сайта, например, могут быть записаны в один файл, а затем включены во все остальные страницы.

Не важно, используете ли вы index.php или index.html. Вы также используете любого из них. Только вам нужен PHP (или любой другой язык сценариев на стороне сервера), чтобы сделать ваш сайт динамичным.

Как и у вас есть страница входа в систему, вы можете сделать ее как inde.html, но ваши логики должны либо быть в другом файле, либо встроены в HTMl.

Вы можете использовать то, что когда-либо предпочитаете: если вы предпочитаете хранить формы и базовые страницы, которые не используют данные в HTML, и сохраняйте страницы, которые используют php в формате php, это нормально.

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

По умолчанию сервер Apache нуждается в файле с расширением .php для анализа кода PHP внутри него . Хотя, если хотите, вы можете настроить свой сервер, добавив одну строчку в файл конфигурации, чтобы использовать файлы с любым расширением с PHP-кодом внутри него. Вы можете редактировать apache самостоятельно, чтобы поддерживать php также в расширении .HTML.

Проще говоря, вы можете легко получить доступ к файлу index.html и получить данные под ним. Но index.php трудно получить доступ. Для вашего простого приложения index.html сделает трюк. Если вы планируете какое-то большое и безопасное приложение, перейдите на index.php

Иногда бывает некоторая логика, написанная на index.php . Как вы можете проверить, зарегистрирован ли пользователь или нет, а затем перенаправить пользователя на определенную страницу. Также вы можете перенаправить на основе устройств, как в случае мобильных устройств.

Читайте также:  Где взять красивый шрифт

Вы всегда можете создать файл index.html но не знаете, когда вам может понадобиться какая-то логика.

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

Чтобы проверить текущие настройки приоритета расширения файла в apache2 с помощью linux

Для создания перспективного, расширяемого и эффективного сайта любой сложности следует начинать с простого. Это процесс нелёгкий, требует определённых базовых знаний PHP и MySQL, но если его рассмотреть по пунктам — то можно составить своего рода «рабочий план», который пригодится при создании новых сайтов. Подготовим «ядро» и базу для проекта. Вначале это будет обычный сайт визитка, но потом, добавляя функционал, его можна превратить во что угодно. Итак, приступим.

1. Подготовка базы данных. Создаём первую таблицу в БД MySQL

Создаём новую базу данных, например «mysite». Лично я привык работать с кодировкой UTF-8, по-этому сразу оговорюсь: проследите, чтобы все текстовые файлы сайта, сама база, таблицы и поля таблиц были в одной кодировке.
В новой базе делаем таблицу. Назовём её «pages». В этой таблице будут храниться статические страницы будущего сайта и информация о них. Таблица должна содержать следующие поля:

  • page_id — идентификатор страницы (SMALLINT, primary key, auto_increment);
  • page_alias — псевдоним страницы для строки адреса ЧПУ (VARCHAR, 255);
  • page_title — название страницы в окне браузера (VARCHAR, 255);
  • page_meta_d — мета описание страницы для тега meta description (VARCHAR, 255);
  • page_meta_k — мета ключевые слова для тега meta keywords (VARCHAR, 255);
  • page_h1 — заголовок страницы (VARCHAR, 255);
  • page_s_desc — краткое описание материала, например если материалы сайта будут в виде блога (TEXT);
  • page_content — основной текст страницы, который будет выводиться в центральную колонку сайта (TEXT);
  • page_publish — содержит «Y» — если страница опубликована, или «N» — если она скрыта (CHAR, по умолчанию «Y»).

Сразу после создания таблицы вставляем в неё значения для главной страницы сайта. В поле «page_alias» для главной страницы предлагаю вставить значение «home». Метатеги — соответственно тематике всего сайта. Таким же образом можно посоздавать другие страницы, например «О компании» с алиасом «about» и своими метатегами, или «Контакты» с алиасом «contacts» и т.д.

2. Создаём файл конфигурации сайта

В корневой папке сайта, которая должна быть пуста на данном этапе, создаём папочку «cfg», в ней с помощью .htaccess закрываем доступ директивой «deny from all». Создаём файл core.php следующего содержания:

link = mysql_connect($this->dbhost, $this->dblogin, $this->dbpass);
mysql_select_db($this->db);
mysql_query(‘SET NAMES utf8’);
>

function close() <
mysql_close($this->link);
>

function run($query) <
$this->query = $query;
$this->result = mysql_query($this->query, $this->link);
$this->err = mysql_error();
>
function row() <
$this->data = mysql_fetch_assoc($this->result);
>
function fetch() <
while ($this->data = mysql_fetch_assoc($this->result)) <
$this->fetch = $this->data;
return $this->fetch;
>
>
function stop() <
unset($this->data);
unset($this->result);
unset($this->fetch);
unset($this->err);
unset($this->query);
>
>

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

Если Вы работаете в среде Windows, я могу порекоммендовать использовать редактор Notepad++. В этом редакторе есть нумерация строк, и он легко переводит текст из одной кодировки в другую. ВНИМАНИЕ! Если Вы работаете в кодировке UTF-8 — конвертируйте файлы в UTF-8 without BOM — это поможет избежать проблем в будущем.

3. Создаём index.php — главный контроллер сайта

Файл конфигурации создан. Теперь в корневой папке сайта создаём index.php — это и будет основной скрипт сайта, своего рода «главный контроллер». Содержание файла index.php:

// ГЛАВНЫЙ КОНТРОЛЛЕР
switch ($_GET[option]) <
case "page":
include($_SERVER[DOCUMENT_ROOT]."/com/page.php");
break;
default:
include($_SERVER[DOCUMENT_ROOT]."/com/home.php");
break;
>

include ($_SERVER[DOCUMENT_ROOT]."/template.php");
$db->close();

Переменная $_GET[option] будет указывать главному контроллеру какой компонент сайта загружать при запросе. Сейчас в нашем сайте предусмотрено только два компонента: «страница» и «главная страница» (в принципе можно обойтись и одним компонентом вывода обычной страницы, но часто вид главной страницы сайта отличается от обычных страниц пунктов меню). Логика работы главного контроллера такова: из URL строки извлекается название нужного компонента (значение переменной $option), в зависимости от его значения подключается файл самого компонента (содержится в папке /com). Файл компонента выполняет все необходимые работы, извлекает из базы данные и записывает их в переменные, для передачи в шаблон дизайна. В самом конце подключается файл дизайна сайта, в который и передаются все переменные и данные, извлечённые в компонентах. Это звучит намного сложнее, чем работает.

Читайте также:  Hp dv6 6b54er кулер

4. Создаём компонент вывода обычной страницы

В корне сайта создаём папочку «com» — в ней будут храниться файлы компонентов. Компонент сайта, в моём понимании — это файл, в котором происходит обработка данных для разных разделов сайта. Например компонент обычной страницы извлекает из базы данных название, описание и текст материала, и записывает их в переменные $title, $meta_d, $meta_k, $content и др. Эти данные потом передаются в шаблон дизайна (под каждый компонент можно создавать свой шаблон дизайна) и выводятся пользователю в виде HTML-страницы. Например, компонент каталога, который можно создать в будущем, выполнял бы почти то же самое, но с данными про товары — а там своя специфика, другие поля в таблице, итд. По-этому для каждого функционального раздела сайта стоит создавать отдельный компонент. В схеме MVC (Model-View-Controller) компонент выполняет роль модели.

Создаём в папке «com» файл «page.php». Содержимое файла следущее:

run($query);
$db->row();
// ПЕРЕМЕННЫЕ КОМПОНЕНТА
$id = $db->data[page_id];
$alias = $db->data[page_alias];
$title = $db->data[page_title];
$h1 = $db->data[page_h1];
$meta_d = $db->data[page_meta_d];
$meta_k = $db->data[page_meta_k];
$s_desc = $db->data[page_s_desc];
$component = $db->data[page_content];
// ЕСЛИ СТРАНИЦЫ НЕ СУЩЕСТВУЕТ
if (!$id) <
header("HTTP/1.1 404 Not Found");
$component = "ОШИБКА 404! Данной страницы не существует";
>
$db->stop();

5. Создаём компонент вывода главной страницы

Главная страница у нас в базе данных хранится под псевдонимом «home», и пока по своей структуре не отличается от обычных страниц сайта — это просто статья. Тем не менее создадим для неё отдельный компонент — на перспективу, так сказать.

Содержимое компонента «home.php» в папке «com» почти совпадает с содержимым компонента обычной страницы, за исключением строки запроса к базе и названия компонента. Строка запроса теперь выглядит так:

$query = "SELECT * FROM wx_pages WHERE page_alias=’home’ LIMIT 1";

6. Создаём шаблон дизайна всего сайта

В корне сайта создаём файл template.php. По сути это обычный макет web-дизайна в формате HTML+CSS, только с PHP переменными в нужных местах. Между тегами title вставочка , в центральной колонке сайта вставочка и так по всему шаблону расставляем нужные переменные, которые объявлены в компонентах.

В корневой папке также должны быть папки «css» и «images» для элементов дизайна. В файле /css/style.css — можно настроить стили по своему усмотрению.

7. Чистые ссылки и файл .htaccess

Для создания чистых ссылок я использую mod_rewrite с прямыми указаниями правил для каждого компонента отдельно, так как разбор адресной строки средствами самого контроллера считаю излишним функционалом. Содержимое .htaccess на данном этапе такое:

RewriteEngine On
RewriteBase /

# ЗАПРЕЩЁННЫЕ ФАЙЛЫ
RewriteRule .htaccess — [F]
RewriteRule template.php — [F]

# ПРАВИЛА mod_rewrite
RewriteRule page/([a-z0-9_-]+)([/]<0,1>).htm$ index.php?option=page&alias=$1 [L]

В будущем мы будем дописывать правила для компонентов поиска, каталога, блога статей и т.д. Смысл один: преобразовать ссылки вида «mysite.com/index.php?option=pages&alias=about» в ссылку вида «mysite.com/pages/about.htm» — смотрится довольно красиво. Старайтесь в разработке избегать массива $_GET в целях безопасности и не надеяться на него. Целесообразно хранить в нём только параметры для главного контроллера (переменная $option) и для компонента (переменная $alias).

Также в каждой папке сайта «на всякий случай» создайте пустой файл index.html — это нужно для того, чтобы при обращении к каталогу через адресную строку ничего не отображалось.

Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.

Ссылка на основную публикацию
Что делать если завис телефон андроид
Что делать, если завис Андроид и не реагирует не на что? В этой статье мы посмотрим четыре простых способа как...
Фум лента в стоматологии фото
Автор: G. Freedman Перевод: Александр Зыбайло Автор: G. Freedman Перевод: Александр Зыбайло Ограничение количества цемента для фиксации и использование определенной...
Функции жесткого диска в компьютере
Жесткий диск, он же винчестер, является основным местом, где хранится вся информация. В отличие от оперативной памяти, он энергетически независим,...
Что дают за рейтинговые бои
В кои-то веки разработчики решили прислушаться к мнению игроков и ввести в Варфейс рейтинговые матчи. Теперь каждый игрок, достигший 26...
Adblock detector