2025年7月24日木曜日

Sinatra に CORP, COEP, COOP ヘッダを設定する方法

Sinatra に CORP, COEP, COOP ヘッダを設定する方法

概要

Sinatra::Base で設定します

環境

  • Ruby 3.4.4
  • Sinatra 4.1.1

設定方法

class BasePage < Sinatra::Base
  before do
    setup_response_headers
  end

  def setup_response_headers
    # Content Security Policy (CSP) の設定
    unless request.path.start_with?('/podcast/feed')
      csp = CSP.new.header
      headers 'Content-Security-Policy' => csp
    end
    # Cross-Origin Resource Policy (CORP) の設定
    headers 'Cross-Origin-Resource-Policy' => 'same-origin'
    # Cross-Origin Embedder Policy (COEP) の設定
    headers 'Cross-Origin-Embedder-Policy' => 'unsafe-none'
    # Cross-Origin Opener Policy (COOP) の設定
    headers 'Cross-Origin-Opener-Policy' => 'same-origin'
  end
end

最後に

これで zaproxy の Insufficient Site Isolation Against Spectre Vulnerability に対応できます

0 件のコメント:

コメントを投稿