Подтвердить что ты не робот

Секретный токен Rails

Я довольно смущен тем, что используется в secret_token для Rails. Может ли кто-нибудь объяснить, для чего он используется? Можно ли положить этот токен в публичный репозиторий источников и использовать его в процессе производства, или я должен его изменить перед развертыванием моего приложения, чтобы предотвратить некоторые виды атак?

4b9b3361

Ответ 1

Отвечая на мой собственный вопрос - secret_token используется для предотвращения подделки файлов cookie в Rails. У каждого cookie есть контрольная сумма, сохраненная вместе с ним, поэтому пользователи не будут изменять содержимое cookie (и, например, сменить сохраненный идентификатор пользователя, чтобы украсть чью-то учетную запись). Контрольная сумма основана на содержимом cookie и secret_token, поэтому, если вы используете сеансы на основе файлов cookie, вы всегда должны быть уверены, что ваш secret_token действительно секрет, иначе вы не можете доверять тому, что все, что вы ввели в сеанс, не изменилось.