# Course 37 - Building Web Apps with Ruby On Rails | Episode 8: Mastering Sessions, Encrypted Cookies, and CSRF Protection Page: https://stenobird.com/podcast/cybercode-academy-7578615/course-37-building-web-apps-with-ruby-on-rails-episode-8-mastering-sessions-encrypted-cookies-and-csrf-protection Text version: https://stenobird.com/podcast/cybercode-academy-7578615/course-37-building-web-apps-with-ruby-on-rails-episode-8-mastering-sessions-encrypted-cookies-and-csrf-protection.md Podcast: [CyberCode Academy](https://stenobird.com/podcast/cybercode-academy-7578615) Published: 2026-06-21T06:00:02+00:00 Episode link: https://www.spreaker.com/episode/course-37-building-web-apps-with-ruby-on-rails-episode-8-mastering-sessions-encrypted-cookies-and-csrf-protection--72405433 Audio file: https://dts.podtrac.com/redirect.mp3/api.spreaker.com/download/episode/72405433/how_encrypted_cookies_and_tokens_work.mp3 Processing state: not_requested JSON: https://stenobird.com/v1/public/podcasts/cybercode-academy-7578615/episodes/course-37-building-web-apps-with-ruby-on-rails-episode-8-mastering-sessions-encrypted-cookies-and-csrf-protection Duration seconds: 1129 ## Resource In this lesson, you’ll learn about: session management, secure data storage, and protection against CSRF attacks in Ruby on Rails1. Understanding SessionsUsing Ruby on Rails:🔹 Definition: Sessions allow the app to remember users across requests 🔹 Example: User logs in once → stays logged in while navigating 👉 Key Insight HTTP is stateless, so sessions provide continuity for user identity2. Managing Sessions in Application Controller🔹 Centralized control: ApplicationController handles authentication globally 🔹 Common helper methods: current_user → returns the logged-in user logged_in? → checks authentication status 👉 Key Insight Centralizing session logic keeps authentication consistent across the app3. Authentication Flow🔹 Steps: User logs in User ID stored in session Each request checks session 🔹 Logout: Clear session data 🔹 Pitfall: Infinite redirects if authentication checks are misconfigured 👉 Key Insight Proper session handling ensures smooth and secure navigation4. Where Session Data Is Stored🔹 Options: Memory (temporary) Database (persistent) Encrypted cookies (default in Rails) 👉 Key Insight Rails uses cookies for performance and scalability5. Encrypted Cookies🔹 How it works: Data stored in browser cookies Encrypted using: Secret key Salts 🔹 Result: Users can see cookies but cannot read or modify them 👉 Key Insight Encryption ensures confidentiality and integrity of session data6. Why Encryption Matters🔹 Without encryption: Users could tamper with session data 🔹 With encryption: Data is secure and trusted 👉 Key Insight Security depends on keeping the server-side secret key safe7. Cross-Site Request Forgery (CSRF)🔹 Definition: Attack where malicious sites send unauthorized requests 🔹 Risk: Actions performed without user consent 👉 Key Insight CSRF exploits trust… ## Actions - request_transcript: `POST https://stenobird.com/v1/public/podcasts/cybercode-academy-7578615/episodes/course-37-building-web-apps-with-ruby-on-rails-episode-8-mastering-sessions-encrypted-cookies-and-csrf-protection/transcription-requests` — Idempotently request low-priority transcript generation for this episode. - read_markdown: `GET https://stenobird.com/podcast/cybercode-academy-7578615/course-37-building-web-apps-with-ruby-on-rails-episode-8-mastering-sessions-encrypted-cookies-and-csrf-protection.md` — Read the agent-friendly Markdown representation of this episode resource. A page view does not enqueue transcription. Agents should invoke `request_transcript` explicitly when they need this episode processed. ## Transcript Full transcripts are not published on public pages unless there is a clear rights basis.