Cookies werden in Rails 4 standardmäßig verschlüsselt
In Rails 4 werden CookieStore- Cookies standardmäßig verschlüsselt und signiert:
Wenn Sie nur gesetzt haben secret_token
, werden Ihre Cookies signiert, aber nicht verschlüsselt. Dies bedeutet, dass ein Benutzer seine Daten nicht ändern kann, user_id
ohne den geheimen Schlüssel Ihrer App zu kennen, sondern sie leicht lesen kann user_id
. Dies war die Standardeinstellung für Rails 3-Apps.
Wenn Sie festgelegt haben secret_key_base
, werden Ihre Cookies verschlüsselt. Dies geht einen Schritt weiter als signierte Cookies, da verschlüsselte Cookies von Benutzern nicht geändert oder gelesen werden können. Dies ist die Standardeinstellung ab Rails 4.
Wenn Sie beide haben secret_token
und secret_key_base
Set, werden Ihre Cookies verschlüsselt und signiert von Rails erzeugt Cookies 3 werden transparent gelesen und verschlüsselt ein Upgrade - Pfad glätten zu bieten.
Der Active Record Session Store ist in Rails 4 veraltet
Diese Antwort ist in Bezug auf Rails 4 nicht mehr aktuell. Der Active Record Session Store wurde veraltet und aus Rails entfernt, sodass die folgenden Generatoren nicht mehr funktionieren:
Darauf wurde in dieser Antwort hingewiesen . Der Grund dafür, dass der Active Record Session Store veraltet war, liegt darin, dass die Lese- / Schreibvorgänge in die Datenbank nicht gut skaliert werden können, wenn eine große Anzahl von Benutzern auf Ihre Anwendung zugreift, wie in diesem Blogbeitrag angegeben :
... ein Hauptproblem beim Active Record-Sitzungsspeicher ist, dass er nicht skalierbar ist. Es belastet Ihre Datenbank unnötig. Sobald Ihre Anwendung viel Verkehr empfängt, wird die Sitzungsdatenbanktabelle kontinuierlich mit Lese- / Schreibvorgängen bombardiert.
Ab Rails 4 wurde der Active Record-Sitzungsspeicher aus dem Kernframework entfernt und ist jetzt veraltet.
Wenn Sie den Active Record Session Store weiterhin verwenden möchten, ist er weiterhin als Juwel verfügbar .
Best Practices für aktuelle Rails-Sitzungen
Für aktuellere Best Practices für Ruby on Rails-Sitzungen empfehlen wir Ihnen, die neuesten Versionen des Ruby on Rails-Sicherheitshandbuchs zu lesen .