MV framework logo
  • Архитектура
  • Философия
  • Админ панель
  • Поддержка
  • Обратная связь
Документация
Скачать .zip версия 3.2.0 от 25.12.2024
  • Архитектура
  • Философия
  • Админ панель
  • Поддержка
  • Обратная связь
Начало работы
  • Установка и запуск
  • Структура папок
  • Запуск простого сайта
  • Предустановленные модели
  • SQLite начало работы
  • Системные настройки
  • Миграции
  • Отладка
Модели
  • Общие принципы моделей
  • Типы данных
  • Настройка модели
  • Простые модели
  • Внешние ключи
  • Деревья
  • Многие ко многим
  • Группа
  • Управление записями
  • Управление простыми моделями
  • Дополнительные возможности
Шаблоны и маршрутизация
  • Общие принципы шаблонов
  • Объект класса Router
  • Объект MV
  • Создание нового шаблона
  • Вывод данных в шаблоне
  • Объект класса Record
  • Файлы и изображения
  • Дата и время
  • Редиректы и Http
  • Отправка email
  • Специальные методы
Формы
  • Создание форм
  • Настройка полей формы
  • Валидация полей формы
  • Безопасность форм
  • Работа с данными формы
  • Использование данных из моделей
  • Методы форм
SQL запросы
  • Конструктор запросов
  • Прямые запросы
  • Постраничная разбивка
  • Сортировка
  • Фильтрация
Дополнительно
  • AJAX
  • Плагины
  • Кэширование
  • Безопасность
  • Дополнения к административной панели
Документация
Начало работы
  • Установка и запуск
  • Структура папок
  • Запуск простого сайта
  • Предустановленные модели
  • SQLite начало работы
  • Системные настройки
  • Миграции
  • Отладка
Модели
  • Общие принципы моделей
  • Типы данных
  • Настройка модели
  • Простые модели
  • Внешние ключи
  • Деревья
  • Многие ко многим
  • Группа
  • Управление записями
  • Управление простыми моделями
  • Дополнительные возможности
Шаблоны и маршрутизация
  • Общие принципы шаблонов
  • Объект класса Router
  • Объект MV
  • Создание нового шаблона
  • Вывод данных в шаблоне
  • Объект класса Record
  • Файлы и изображения
  • Дата и время
  • Редиректы и Http
  • Отправка email
  • Специальные методы
Формы
  • Создание форм
  • Настройка полей формы
  • Валидация полей формы
  • Безопасность форм
  • Работа с данными формы
  • Использование данных из моделей
  • Методы форм
SQL запросы
  • Конструктор запросов
  • Прямые запросы
  • Постраничная разбивка
  • Сортировка
  • Фильтрация
Дополнительно
  • AJAX
  • Плагины
  • Кэширование
  • Безопасность
  • Дополнения к административной панели
MV tracker

Безопасность

Режим production

Переключение режима development/production осуществляется через файл .env в корне проекта. В production режиме все ошибки и предупреждения пишутся в папку log, а пользователю показывается ошибка 404.

APP_ENV=production
На рабочем сервере проект должен находиться только в режиме production.

Защита от SQL инъекций

Перед подстановкой значений в SQL запрос без использования конструктора, их надо обработать специальной функцией secure(). Данный метод содержится в классе Database и доступен в объекте $db, находящимся в каждой модели и плагине.

Конструктор запросов самостоятельно применяет метод secure() к входящим данным. Если используются Прямые запросы, то при вызове метода secure() не нужно обрамлять значение в одиночные кавычки.

//Данные, которые необходимо обезопасить
$param = trim($_GET['param']);

//Для значения 'type' кавычки не нужны
$row = $this -> db -> getRow("SELECT * FROM `products` 
                              WHERE `active`='1' 
                              AND `type`=".$this -> db -> secure($param);

//Для целочисленных значений лучше применить функцию intval()
$row = $this -> db -> getRow("SELECT * FROM `table` 
                              WHERE `id`='.intval($param)."'");

Безопасность административной панели

  • При двух неудачных попытках авторизации пользователю предлагается ввести CAPTCHA.
  • Восстановление пароля только после ввода captcha и подтверждения по ссылке на email.
  • Привязка сессии к браузеру и IP адресу.
  • Токены для исключения возможности CSRF при операциях в административной панели.
  • Разлогинивание пользователя по таймауту, с возможность автологина.

URL в объекте Router

В объекте Router из URL адреса удаляется одиночная кавычка, при этом GET параметры остаются в исходном виде и в случае их применения в прямых запросах необходимо вызвать метод secure() из объекта базы данных.

Использование CSRF токена для форм

Подробно описано в разделе Безопасность форм.

$form = new Form(...); 
$form -> useTokenCSRF();

Предыдущий раздел

Кэширование

Следующий раздел

Дополнения к административной панели
MV workshop banner
MV tracker

© 2014-2025, MV framework team

English MV tracker project Github

Поделиться