Это старая версия Справка/QS/CSRFFunctions за 2017-12-27 13:28:18..

Защита от CSRF-атак


Подробнее об атаке: Википедия, Хабрахабр

Функции защиты от атак встроены в QS начиная с версии 5.3

Как защищаться от CSRF (минимум)


При работе с формой:
1. заменить вызовы FormOpen на csrfFormOpen – эта конструкция добавит csrf-токен в форму
2. Перед обработкой данных с формы сделать следующую конструкцию:
<?php
if(($csrfError $this->csrfCheckStandart()) === TRUE) {
  
// здесь обрабатываем запрос с формы - проверку мы прошли
} else {
  
$error $csrfError;
}
?>


При работе с ссылками
1. заменить генерацию ссылок функцией Href на csrfHref – эта конструкция добавит csrf-токен в ссылку
2. Шаг идентичен работе с формой – т.е. добавляем проверку в обработку

Продвинутый вариант


Есть валидация токенов по времени
<?php
if(($csrfError $this->csrfCheckStandart(60)) === TRUE) {
  
// токен будет валидным в течении 60 секунд, т.е. форма должна быть отправлена за это время, иначе будет ошибка
} else {
  
$error $csrfError;
}
?>