KamoCRM

セッションIDはページのスクリプトに戻って来るのを止めます — 密封されたハンドルのための接地作業

Fixkamo-internal
Shipped
2026年9月24日 0:09 UTC
Author
Kamo
Commit
3e3c3e7

*** 読み取り可能 (httpOnly:false) と、生のセッション ID を渡す複数の応答を設定しました。 ブラウザ ページスクリプトは、エンドポイントが値を読み出すと、Cookie の HttpOnly フラグを使用できません。 - /api/session/extend と /api/session/info が返された sessionInfo.sessionId, /api/user-info が返された tokenId、/api/debug/cookies を ***Value として指定します。 彼らは今、8文字のプレビューを返す(唯一の 消費者はシステムデバッグ画面でした。 - /valid はセッションゲートなしで提供され、すべての Cookie VALUE をページにレンダリングされます。 HttpOnlyクッキーも参照するサーバ。 名前とサイズが表示されます。 - /api/session/extend 植物 *** と httpOnly: true. ブラウザは、まだEventSourcesに送信し、 <img>/<video> と /meet/join はそれに依存します。スクリプトはもはやそれを読むことができません。 -******************** では、読み込めたクッキーも失敗しました。 次のステップのグラウンドワーク、 /api/validate が発行されるまでのインサート: - app/lib/sessionHandle.ts: タブのセッション HANDLE は AES-256-GCM で密封された 128-hex id です。 SESSION HANDLE SECRET から派生したキーと HttpOnly のランダムなパーブロザーキー Host-KBKクッキー。 ほぼ128文字なので、既存のクライアントがチェックを受け付けます。 他のどのブラウザでも、改ざんが失敗します。 sessionHandle.test.ts カバー シール/オープン, 外国 ブラウザ、改ざん、秘密なし。 - proxy.ts は、X-***-Token で到着したハンドルをルートの実際の ID に開くので ~180 ヘッダが変更を必要としないことを読み取るルート; ヘッダをドロップしないハンドルと 別のタブのセッションに戻すのではなく、共有***クッキー。 ザ・オブ・ザ・ matcher は /api/:path* を明示的に (static-file ルールは /api/*.png をスキップします)。 - /api/generate-otk は、WebSocket ハンドシェイクの目的=ws(30 s)を獲得します。 ログアウトはブラウザキーを保持します (他のタブのハンドルはそれに依存します)。 - k8s/deployment.yaml は、カモ・インタナル・セッション・ハンド・シークレット (クラスターで作成) をマウントします.

All changes

Like what you see shipping?

All of it arrives in your workspace on its own. Start on the free plan and read this page again in a month.

Start Free ForeverView Pricing