Защита от CSRF атак через дополнительный токен в формах
Что такое атака CSRF
CSRF (англ. cross-site request forgery — «межсайтовая подделка запроса», также известна как XSRF) — вид атак на посетителей веб-сайтов, использующий недостатки протокола HTTP. Если жертва заходит на сайт, созданный злоумышленником, от её лица тайно отправляется запрос на другой сервер (например, на сервер платёжной системы), осуществляющий некую вредоносную операцию (например, перевод денег на счёт злоумышленника). Для осуществления данной атаки жертва должна быть аутентифицирована на том сервере, на который отправляется запрос, и этот запрос не должен требовать какого-либо подтверждения со стороны пользователя, которое не может быть проигнорировано или подделано атакующим скриптом.
Подробности - https://ru.wikipedia.org/wiki/%D0%9C%D0%B5%D0%B6%D1%81%D0%B0%D0%B9%D1%82%D0%BE%D0%B2%D0%B0%D1%8F_%D0%BF%D0%BE%D0%B4%D0%B4%D0%B5%D0%BB%D0%BA%D0%B0_%D0%B7%D0%B0%D0%BF%D1%80%D0%BE%D1%81%D0%B0
Как настроить в формах
Если указать в форме дополнительный столбец csrftoken типа hidden, то система будет подставлять в него определенное значение в GetItem и проверять его в SaveItem.
Элемент хранится в кеше какое-то время (количество минут в настройке csrftokenLifeTime, по умолчанию 15 минут).
Подобная форма позволит выполнить действие только в случае, если форма была подготовлена сервером (а не злоумышленником) и совсем недавно.
Страница-источник на сайте falconspace.ru
-
Руководства
-
Основа Falcon Space
-
Основные компоненты
-
Возможности
-
Коммуникация пользователей
-
Дизайн, стилизация, юзабилити
-
Лендинги
-
Универсальный API
-
Интеграции
-
Каталоги
-
Навигация
-
Документы
-
Дополнительные компоненты
-
Продвижение, SEO
-
Системные моменты
Отслеживание изменений хранимых процедур и страниц (logChanges) Логирование изменений объектов на примере хранимых процедур Работа с редактором кода в личном кабинете разработчика Логирование событий в приложении (trace) Действия в браузере actions JSON Как быстро перенести решение (таблицы, формы, страницы) на другую базу? Настройка диалоговых окон и alert окошек Мелкие удобства для разработчика в личном кабинете Как отследить и ограничить большое количество однородных запросов на сайте Изменение процедуры поиска, процедуры общих элементов Layout, процедуры периодического запуска Как изменить длительность показа сообщений Форма обратной связи по ошибкам, предложениям suggestion Как разграничивать права на уровне бизнес-логики хранимых процедур Безопасная обработка данных и проверка доступа в хранимых процедурах Использование типовой разметки в виде сниппетов для решения различных задач Как логировать клики на определенных элементах в системе Обработка старых браузеров (сообщение об устаревшем браузере) Безопасность. Как скрыть некоторые заголовки (http headers) в запросах Отображение сообщения об offline (Нет сети) Рабочее место разработчика через терминал Обновляемые метки времени в сообщениях на сайте Подсказка по интерфейсам хранимых процедур компонентов Защита от CSRF атак через дополнительный токен в формах Дополнительные параметры в @parameters (во многих хранимых процедурах) Как логировать события в Falcon в другую базу (чтобы ограничить рост основной базы данных) Сообщение об использовании куки (Cookies) Как искать код некоего компонента (таблицы, формы и т.д.) на странице Как сделать так, чтобы почта отправлялась асинхронно без задержек Работа со сниппетами кода Универсальная кнопка действия as_submit Режим показа таблицы/формы в alert окне Реализация системы анализа IP посетителей
-
Системное администрирование
-
HOWTO
-
Таблицы
-
Формы
-
Поля формы
-
Загрузка файлов, картинок
-
HOWTO SQL
-
HOWTO JS
-
HOWTO Верстка
-
Решение проблем