2010-11-22 13 views
23

Jestem dość zdezorientowany, co jest secret_token używane w Rails. Czy ktoś może wyjaśnić, do czego służy? Czy można umieścić ten token w publicznym repozytorium źródłowym i używać go w produkcji, czy też powinienem to zmienić przed wdrożeniem mojej aplikacji, aby zapobiec niektórym rodzajom ataków?Tajny token Railsy

Odpowiedz

31

Odpowiadając na moje własne pytanie - secret_token służy do zapobiegania manipulowaniu cookie w Railsach. Każdy plik cookie ma zapisaną sumę kontrolną, więc użytkownicy nie będą modyfikować zawartości plików cookie (i zmieniać zapisanego identyfikatora użytkownika, aby wykraść konto danej osoby, na przykład). Suma kontrolna jest oparta na zawartości plików cookie i secret_token, więc jeśli używasz sesji opartych na plikach cookie, powinieneś zawsze upewnić się, że twój sekretny_token jest naprawdę tajny, w przeciwnym razie nie można ufać, że wszystko, co wprowadziłeś do sesji, powróciło bez zmian.