Сесії та cookies Sinatra

У Sinatra ви можете працювати з сесіями та cookies для зберігання стану клієнта між різними запитами. Ось як ви можете працювати з ними:

  1. Сесії:

    • Для використання сесій встановіть розширення sinatra-contrib.
    • Додайте require 'sinatra/cookies' до вашого додатку.
    • Використовуйте методи session для доступу до об’єкта сесії. Наприклад:
      require 'sinatra'
      require 'sinatra/cookies'
      
      enable :sessions
      
      get '/set_session/:value' do
        session[:value] = params[:value]
        'Session set!'
      end
      
      get '/get_session' do
        "Session value: #{session[:value]}"
      end
      
  2. Cookies:

    • Використовуйте методи set_cookie і cookies для роботи з cookies. Наприклад:
      require 'sinatra'
      
      get '/set_cookie/:value' do
        response.set_cookie('my_cookie', value: params[:value])
        'Cookie set!'
      end
      
      get '/get_cookie' do
        "Cookie value: #{request.cookies['my_cookie']}"
      end
      
  3. Налаштування cookies:

    • Встановлюйте параметри cookies, такі як термін дії, шлях або домен, за допомогою параметрів методу set_cookie.
  4. Безпека:

    • Пам’ятайте про безпеку при роботі з сесіями та cookies. Уникайте зберігання чутливих даних у сесіях або cookies, а також використання ненадійних даних з cookies без перевірки.

Розуміння цих основних понять допоможе вам ефективно працювати з сесіями та cookies у ваших додатках Sinatra.