Cookie / Set-Cookie Studio

Cookie ヘッダーや Set-Cookie を貼り付けると、属性(Expires・Max-Age・Domain・Path・Secure・HttpOnly・SameSite・Partitioned)を表にし、確認したい点を示します。フォームから Set-Cookie ヘッダーと各言語の書き方も作れます。

端末内で処理・アップロードなしスマホ対応オフライン対応

ファイルや入力内容はお使いの端末(ブラウザ)の中だけで処理され、サーバーへは送信されません。

貼り付け

Set-Cookie: の行を 1 行に 1 つ、そのまま貼り付けます(複数行可)。

貼り付けると、ここに Cookie の一覧と確認したい点を表示します。

使い方

  1. Cookie ヘッダー
    Set-Cookie ヘッダー

    Cookie を貼る

  2. 属性の表
    SameSite・Secure の確認違反を指摘

    表で解析し、条件を確かめる

  3. Express・Next.js ほか

    サーバーの書き方を生成

Cookie を貼って属性を表で確かめ、サーバーの書き方を得る流れ
  1. 「解析」タブで入力の種類(Cookie ヘッダーか Set-Cookie)を選び、貼り付けます。「サンプルで試す」でも確認できます。

  2. Set-Cookie は 1 行に 1 つ貼ります。表で名前・有効期限・Domain・Path・Secure・HttpOnly・SameSite を確かめます。

  3. 「確認したい点」を高・中・低の順に見ます。指摘は目安なので、サーバーの実際の設定と照らして判断してください。

  4. 「生成」タブで名前・値・属性を入力します。エラーの項目を直すと、Set-Cookie ヘッダーと各言語の書き方が表示されます。

  5. 書き方をコピーする前に、お使いのライブラリの版でその書き方が使えるかを確かめてください。

できること

属性の表と確認したい点

Set-Cookie の名前・値・有効期限・Domain・Path・Secure・HttpOnly・SameSite・Partitioned・Priority を 1 行ずつ表にします。Max-Age が Expires より優先されること、不正な Expires は無視されることなど、RFC 6265bis に沿って解釈します。

機密らしい値を伏せる

JWT・AWS・GitHub・Stripe などのキーの形を、秘密情報スキャナーと同じ規則で判定します。該当する値は一覧で伏せ、指摘には規則名だけを表示します。

Set-Cookie の生成と 5 つの書き方

フォームから Set-Cookie ヘッダーを作ります。Express・Next.js・PHP・Django・nginx(proxy_cookie_flags)の書き方も出します。値は URL エンコードでき、; や改行が入っても別の属性やヘッダーは混ざりません。

接頭辞と組み合わせの確認

__Host- と __Secure- の条件、SameSite=None と Partitioned に Secure が必要なことを確かめます。1 ラベルや 2 ラベルの Domain は、サブドメインまで送られる範囲の広さとして示します。

こんなときに

  • Set-Cookie の SameSite・Secure・HttpOnly が正しく書けているか確かめたい
  • 「SameSite=None なのに Cookie が保存されない」原因を調べたい
  • __Host- や __Secure- の接頭辞の条件を満たしているか確かめたい
  • Express・Next.js・PHP などで Cookie を設定する書き方を知りたい
  • ブラウザの開発者ツールで見えた Cookie の属性の意味を知りたい

対応形式

入力

Cookie ヘッダー(name=value; name2=value2)Set-Cookie ヘッダー(1 行に 1 つ、複数行可)

出力

Set-Cookie ヘッダーExpress・Next.js・PHP・Django・nginx の書き方

対応状況

機能対応補足
Cookie と Set-Cookie の解析・属性の表対応—
確認したい点の表示(SameSite・Secure・接頭辞・Domain・有効期限など)一部対応仕様に基づく目安です。ブラウザごとの違いは含みません
機密らしい値の検出一部対応規則に合う形だけを検出します。形の違う秘密情報は見つけられません
Set-Cookie ヘッダーと各言語・フレームワークの書き方の生成対応—
サイトに接続して実際の Cookie を取得非対応URL を入力しても接続しません。レスポンスのヘッダーを貼り付けてください
ブラウザに保存された Cookie を読む非対応読めません。開発者ツールの Cookie 欄(Chrome は Application、Firefox はストレージ)で確認できます
Cookie の送受信をブラウザで試す非対応書式と仕様の照合だけです。実際の送受信は確認しません

制限・注意事項

  • 判定は RFC 6265bis と主要ブラウザの挙動を参考にした目安です。ブラウザや版によって結果が異なることがあります。
  • 機密らしい値の検出は秘密情報スキャナーと同じ規則を使い、エントロピーによる判定は行いません。そのため、ランダムなセッション ID は検出されないことがあります。
  • 解析は 1 回に 200 行・5 万文字までです。
  • 生成できる Max-Age は 31536000 秒(1 年)までです。名前と値の合計は 4096 バイトまでです。
  • Path は文字の形だけを見ます。Domain は形を見るほか、代表的な公開サフィックス(co.jp・github.io など)の短い一覧とだけ照合します。一覧にない公開サフィックスは判定しません。
  • 書き方の例は一般的な書式です。ライブラリの版によって引数名や既定値が違うことがあります。
  • スマートフォンでも使えますが、多くの Cookie を並べて確かめるときは PC 推奨です。

プライバシーと安全性

貼り付けた Cookie と Set-Cookie は、お使いのブラウザの中だけで処理されます。サーバーへ送信・保存されることはありません。

よくある質問

Secure のない SameSite=None はなぜ保存されないのですか?
SameSite=None は別サイトの画面からの送信にも付ける指定です。主要なブラウザは、Secure(HTTPS の通信だけで送る指定)がない SameSite=None を保存しません。Secure を付けてください。
HttpOnly とは何ですか?
JavaScript(document.cookie)から Cookie を読めなくする属性です。XSS の被害で Cookie が盗まれる危険を減らしますが、XSS 自体を防ぐものではありません。
Max-Age と Expires はどちらが優先されますか?
Max-Age が優先されます。どちらもなければセッション Cookie で、ブラウザを閉じると消えます。
__Host- と __Secure- の違いは何ですか?
__Host- は Secure・Path=/・Domain なしを求め、設定したホストに固定されます。__Secure- は Secure だけを求めます。どちらも名前の接頭辞で、条件を満たさないとブラウザは保存しません。
Cookie の値は URL エンコードすべきですか?
値に ; や , や空白、改行があると Set-Cookie の形が壊れるため、URL エンコードします。受け取るプログラムの側でデコードしてください。このツールの「値を URL エンコードする」を使うと、その処理が入った形で出力されます。

CSP Studio

CSP のヘッダーや meta タグを貼り付けると、unsafe-inline・unsafe-eval・ワイルドカード・object-src や base-uri の欠落などを重さ(高・中・低)つきで指摘し、改善案を示します。生成と hash 計算もできます。

アップロードなし

秘密情報スキャナー(Secret Scanner)

コードや設定ファイルを貼る・ドロップするだけで、公開前に消すべき秘密情報の候補を行番号つきで一覧します。値は既定で伏せ字、*** に置き換えたコピーも作れます。あくまで補助ツールで、検出漏れがないことは保証しません。

アップロードなし

HAR 秘密情報削除(HAR Sanitizer)

ブラウザの開発者ツールで保存した HAR を読み込み、Cookie・認証ヘッダー・URL のトークン・パスワード・JWT などを伏せた .har を保存します。サポートへ送る前に使うための補助ツールで、すべての秘密を見つける保証はありません。HAR は端末の外へ送られません。

アップロードなし

curl解析・コード生成

Chrome や Firefox の「cURL としてコピー」を貼ると、メソッド・URL・ヘッダー・Cookie・本文を表にし、12 種類のコードへ変換します。リクエストは送らず、すべてブラウザの中で処理します。Authorization や Cookie は共有前に伏せられます。

アップロードなし

メールヘッダー・配送経路解析

Gmail の「メッセージのソースを表示」や .eml のヘッダーを貼ると、Received を時系列に並べた配送経路・認証結果・From との不一致を確認できます。すべてブラウザの中で処理し、DNS・WHOIS・IP の位置の照会はしません。

アップロードなし

HTML 構造・見出し・画像・リンク診断

ページの HTML を貼り付けるだけで、SEO とアクセシビリティの基本項目(見出し構成・メタタグ・OGP・画像の alt・リンク・構造化データ)を一覧で確認できます。検索結果と SNS でのおおよその見え方もプレビューします。

アップロードなし

最終更新: