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

Безопасность форм

Для обеспечения безопасности форм MV предлагает 3 вида проверочных ключей:

  • обычный CSRF ключ для классического POST запроса
  • AJAX CSRF ключ для форм работающих на AJAX
  • JQuery ключ, отдельно или в дополнение к CSRF ключу
Лучше использовать сразу 2 ключа (обычный или ajax) + jquery.

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

<?
$form = new Form($fields);
$form -> useTokenCSRF();

$form -> submit() -> validate();
?>

<form method="post" enctype="multipart/form-data">
    <? echo $form -> display(); ?>
    <div class="buttons">
        <? echo $form -> displayTokenCSRF(); ?>
        <button>Отправить</button>
    </div>
</form>

CSRF ключ для AJAX форм, необходим когда не происходит перезагрузка страницы в браузере, а запрос уходит на сервер в фоновом режиме с заголовком ‘X-Requested-With’.

<?
$form = new Form($fields);
$form -> useAjaxTokenCSRF();
?>

<form method="post" enctype="multipart/form-data">
    <? echo $form -> display(); ?>
    <div class="buttons">
        <? echo Form::displayAjaxTokenCSRF(); ?>
        <button type="button">Отправить</button>
    </div>
</form>

JQuery ключ используется в дополнение к CSRF ключу для повышения безопасности формы, при классическом и ajax запросе.

Для использования jquery ключа должна быть подключена библиотека JQuery.
//Файл views/main-header.php

<head>
    ...

    <script type="text/javascript" src="<? echo $mv -> media_path; ?>js/jquery.js"></script>
    <? echo Form::displayJqueryToken(); ?>
</head>

//Файл шаблона с формой (ajax или обычной)
//Для ajax формы нужен будет метод Form::displayAjaxTokenCSRF()

<?
$form = new Form($fields);
$form -> useTokenCSRF() -> useJqueryToken();

$form -> submit() -> validate();
?>

<form method="post" enctype="multipart/form-data">
    <? echo $form -> display(); ?>
    <div class="buttons">
        <? echo $form -> displayTokenCSRF(); ?>
        <button>Отправить</button>
    </div>
</form>

Использование CAPTCHA

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

<?
$form = new Form($fields);
$form -> addField(['Код безопасности', 'char', 'captcha', [
                                                    'captcha' => 'extra/captcha-simple',
                                                    'session_key' => 'captcha'
                                                ]];
$form -> addRule('captcha', 'required', true, 'Необходимо ввести проверочный код.');
?>

<form method="post" enctype="multipart/form-data">
    <? echo $form -> display(); ?>
</form>

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

Валидация полей формы

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

Работа с данными формы
MV workshop banner
MV tracker

© 2014-2025, MV framework team

English MV tracker project Github

Поделиться