Właśnie przełączyłem się z Rails 3.2 na Rails 4. Próbuję się upewnić, że jestem maksymalnie szybki w kwestiach bezpieczeństwa, i martwię się teraz sesjami. Wygląda na to, że Rails 4 przestał obsługiwać naprawdę wszystko, Z WYJĄTKIEM sesji opartych na plikach cookie, ale wygląda na to, że nie można zapobiec trwającym nieprzerwanie sesjom opartym na plikach cookie. Czytałem kilka artykułów, ale ten jest najbardziej oficjalny: http://guides.rubyonrails.org/security.html#session-expiry. Zwróć uwagę, że zwracają uwagę, że jest to problem związany z sesjami opartymi na plikach cookie, a następnie poprawiają je dla sesji bazujących na bazach danych (które są obecnie przestarzałe).Szyny 4: Wygaśnięcie sesji?
Jestem naprawdę zdezorientowany. Chcę móc uniemożliwić osobie atakującej uzyskanie pliku cookie, który zapewni mu stały dostęp do mojej witryny chronionej przez logowanie. Oczywiście mogę ustawić: expire_after in initializers/session_store.rb, ale chyba nie mam racji, że po prostu ustawia wygaśnięcia ciasteczka, które jest po stronie klienta i łatwo zmienić przez atakującego, aby sesja mogła żyć wiecznie. Oczywiście mogę poprawić sytuację, wymuszając stosowanie SSL, stosując bezpieczne pliki cookie i wymuszając tylko HTTP, ale nigdy nie będzie to pełna ochrona, dopóki nie wyegzekwuję wygaśnięcia sesji.
W jaki sposób mogę rozwiązać ten problem, gdy Rails wycofuje jedyne sposoby na sesje po stronie serwera?
Wiem, że aktywne sesje nagrań zostały przeniesione do klejnotu i są nadal dostępne, ale faktem jest, że został wycofany. Rozwiązanie powinno być możliwe bez wprowadzania większej liczby zależności lub przynajmniej bez używania przestarzałych funkcji.
Dlaczego ta notatka spada (bez komentarzy) kilka lat po zadaniu? – Kyle
To bardzo ważne pytanie - a przewodniki po Railsach są ... no ... czym one są. Byłbym zadowolony, znając dobrą odpowiedź na twoje pytanie, ponieważ całkowicie rozumiem, dlaczego jesteś zdezorientowany przez to, co jeszcze istnieje, nawet w najnowszej "krawędzi". – silverdr