Подделка межсайтового запроса
Я прочитал этот учебник , который дает хорошее объяснение, чтобы предотвратить CSRF, но он все еще выходит из моего мозга. В соответствии с этим руководством в первом методе они включают случайный токен с каждым запросом. Поэтому в форме они включили что-то вроде этого:
<input type="hidden" name="<?php echo $token_id; ?>" value="<?php echo $token_value; ?>"
И после отправки формы они проверяют, соответствует ли токен или нет.
Как это помогает в предотвращении CSRF?
Я в замешательстве, когда злоумышленник посылает вредоносная ссылка на пользователя, и когда пользователь нажимает на нее, то, по моему мнению, токен будет совпадать каждый раз.
1 answers
Маркер на странице должен соответствовать маркеру, хранящемуся в файле cookie (или сеансе).
Сайт, установивший файл cookie, знает значение этого токена и может указать его в форме.
Сайт стороннего злоумышленника не может знать, какое значение имеет этот токен, поэтому не может его указать.
Вы проверяете, соответствует ли маркер в файле cookie маркеру в данных формы, если они не отклоняют запрос как CSRF.