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

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

Ответов: 2
Никита
22.10.2018 01:18

Доброго времени суток, в документации есть пример использования CSRF токена но он как я понял только для формы вида <? echo $form -> display(array("name", "question")); ?>, а как использовать
для уже готовой html формы эту функцию ? В примере нужно чтоб была переменная $fields с формой в виде массива, а если у меня уже есть html скелет формы как мне применить эту функцию к моей форме ? Извиняюсь если задаю тупые вопросы с php не давно начал разбираться.

$form = new Form($fields); 
$form -> useTokenCSRF();
 
if(!empty($_POST)) 
    $form -> getDataFromPost() -> validate();
 
//Внутри html тэга <form> 
<? echo $form -> displayTokenCSFR(); ?>
Прочтений: 1112
Ответов: 2
Maxim
22.10.2018 10:55

Никита, добрый день, давайте сейчас все по порядку пройдем:

1. У вас форма состоящая только из html кода и без обработчика (action)

2. displayTokenCSFR() это часть фреймворка MV и работает только с объектом формы new Form(...)

3. Если вы не хотите использовать $form -> display(), тогда вам нужно сделать симбиоз html формы и объекта формы MV, чтобы фреймворк вашу форму обработал

4. Вам в любом случае понадобится объект формы с описанием ваших полей как в секции "Форма без привязки к модели" http://mv-framework.ru/sozdanie-form/

5. А также будет нужна обработка как тут http://mv-framework.ru/metody-form/ разница будет только в выводе на экран самой формы

<?
$form = new Form($fields); 
$form -> useTokenCSRF();
?>
<form action="" method="post"> 
    <input type="text" name="name" value="<? echo $form -> name; ?>" />
    <textarea name="question"><? echo $form -> question; ?></textarea>
    <? echo $form -> displayTokenCSRF(); ?> 
    <p><input type="submit" value="Отправить" /></p>
</form>

//Или еще можно выводить поля так, если у вас своя html разметка
<?
echo $form -> displayFieldHtml("name");
echo $form -> displayFieldHtml("question");
?>
Никита
22.10.2018 18:35

Спасибо

Ответить на вопрос
Ответить
MV tracker

© 2014-2025, MV framework team

English MV tracker project Github

Поделиться