Как отключить csrf для определённого роута

Пишу интеграцию для платёжного сервиса, после успешный оплаты сервис делает редирект с пост методом. Cs-cart это определяет как csrf атаку и разлогиновает пользователя. Как могу отключит csrf защиту для определённого роута?

А вы редиректите на админку или на фронт?

Фронт, на /orders

Напишите в баг трекер. На разлогинивание после оплаты многие жалуются, но что-то разработчики никак не пофиксят

1 лайк

Это как бы не баг, их логику понимаю. Сейчас решил проблему с помощи посредника скрипта на php, который просто принимает пост редирект и сам делает редирект на /orders. Но это костыль, не смог отключит csrf защиту для моего роута с хуком csrf_validate_request_pre.

Ну это не нормально, что после оплаты пользователю, чтобы детали заказа увидеть, еще раз логиниться надо

1 лайк

Почему на orders? Редирект от платежной системы должен приходить на payment_notification, для него CSRF отключен.

Сама проверка осуществляется функцией fn_csrf_validate_request Та же используется схема app/schema/security/csrf_validation.php Расширив и изменив которую можно изменить правила валидации.

Тоже самое ошибка для payment_notification