На каждый запрос protect_from_forgery
добавит
<head>
<!- ... ->
<meta content="authenticity_token" name="csrf-param" />
<meta content="xoYoj25LyBvoSlKby4cntwJcVbYhQ38P023yGC6Jecc=" name="csrf-token" />
</head>
и к каждой форме
<input name="authenticity_token" type="hidden" value="xoYoj25LyBvoSlKby4cntwJcVbYhQ38P023yGC6Jecc=" />
, а также это добавит
cookies[:_csrf_token] = "xoYoj25LyBvoSlKby4cntwJcVbYhQ38P023yGC6Jecc="
Тогда на каждом запросе будет проверить, что cookies[:_csrf_token]
совпадает с параметром строки запроса (?authenticity_token=XX
) ИЛИ заголовком (X-CSRF-Token: XX
), вы можете увидеть его here.
Сравнение делается here.
Чтобы узнать подробно, как это работает, прочитайте весь файл, все волшебство происходит там.
Возвращаясь к первоначальному вопросу о том, что вредоносный сайт может анализировать токен с вашей страницы, ну, все, что у них будет, это случайный токен, который не совпадает с одним и тем же токеном в файлах cookie атакуемого пользователя.