<MyRusakov.ru />

Создание движка на PHP и MySQL 2.0

Создание движка на PHP и MySQL 2.0

Видеокурс "Создание движка на PHP и MySQL 2.0" научит Вас создавать профессиональные движки для сайтов на PHP и MySQL с использованием ООП и паттерна MVC.

В курсе разобрана вся теория по структуре движка: как всё устроено, какие должны быть объекты, какая у них иерархия и как они взаимодействуют между собой.

В практической части будет создан движок с чистого листа. Будет создано ядро, все адаптеры, все вспомогательные классы, а также классы для работы с объектами базы данных. И чтобы курс был максимально полезным, будет создан движок для сайта MyRusakov.ru.

Подробнее
Подписка

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Каким движком Вы предпочитаете пользоваться?

PHP: безопасность. Подключение файлов.

PHP: безопасность. Подключение файлов.

Всем привет! В этой статье мы разберемся, как правильно подключать файлы в PHP.

Если вы разрабатываете свой движок, то вы можете сделать что-то вроде этого:

<?php
  if(!isset($_GET['show'])) {
   die();
  }

  $show = $_GET['show'];
  $content = file_get_contents("content/{$show}.php");
?>

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>File Includes</title>
</head>
<body>
  <?php echo $content; ?>
</body>
</html>

Здесь мы просто получаем данные из URL и подключаем нужный нам файл из папки content, добавляя к нему расширение .php. Казалось бы, что здесь может быть опасного? Чтобы разобраться с этим, давайте создадим папку app в корне нашего сайта и добавим в нее файл db.php, в котором пропишем следующее:

$db = new PDO('mysql;host=127.0.0.1;dbname=localhost', 'root', '12345');

Теперь зайдите на страницу, введите в URL следующее:

domain.com/site/?show=../app/db // вместо domain.com/site/ введите url своего сайта

Перед вами окажется пустая страница, но, если вы посмотрите в ее исходный код, то увидите там наше подключение к базе данных. Работает это очень просто: у нас есть файл index.php, в котором мы пишем код, есть папки app и content. С файла index.php с помощью функции file_get_contents мы запрашиваем введенную в URL страницу из папки content, но, если мы введем ../, это будет означать, что нужно подняться на уровень выше, мы выйдем в корень, оттуда перейдем в папку app, где и найдем нужный нам файл.

Чтобы такой проблемы не было, никогда не создавайте сайт таким образом. Если вы еще новичок и не знаете, как правильно делать движки для сайтов, то советую приобрести курс Создание движка на PHP и MySQL 2.0. Если же вам очень нужно делать именно так, то обязательно используйте проверки. К примеру, обезопасить наш сайт можно вот таким образом:

// ...
$show = $_GET['show'];
$allowed = ['main', 'card'];
$content = in_array($show, $allowed) ? file_get_contents("content/{$show}.php") : '';
// ...

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

Итак, на этом все. Спасибо за внимание!

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (1):

pudz pudz 28.11.2015 18:02:15

Если вы еще новичок и не знаете, как правильно делать движки для сайтов, то советую приобрести курс Создание движка на PHP и MySQL 2.0. Извините Михаил, но данный курс не подходит для новичков, скорей всего для более продвинутых разработчиков.

Ответить

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.