Рубрики
Uncategorized

Имитация маркера формы для решения проблемы разделения интерфейсных и серверных атак CSRF

Автор оригинала: David Wong.

Кросс-станция CSRF запрашивает подделку. Как вы все знаете, когда в предыдущих проектах не использовались интерфейсные и серверные схемы разделения, зрелые рамочные решения добавляли скрытые столбцы для формирования форм, чтобы они проверялись каждый раз при отправке. токен Используйте один раз и уничтожьте. Например:

В случае разделения интерфейса и бэк-энда, как этого добиться? Просто, через файлы cookie, redis. Сервер предоставляет интерфейс (гарантированный под тем же доменным именем), генерирует _token_ и записывает _token_ в redis и файлы cookie. Когда интерфейс снова вызовет интерфейс, принесите этот маркер. Используйте его один раз и уничтожьте из redis.

public function testAction(){
    $_token_ = md5(uniqid());
    ... Save token in redis
    setcookie('_token_', $_token_, time()+(24*3600), '/');
    return false;
}

У вас есть какой-нибудь хороший план, вы можете оставить сообщение для обсуждения.