KamoCRM

Die Session-ID hört auf, wieder auf das Seitenskript zu kommen - Vorarbeit für versiegelte Griffe

Fixkamo-internal
Verschickt
24. September 2026 um 00:09 UTC
Autor
Kamo
Commit
3e3c3e7

*** wurde lesbar (httpOnly:false) gesetzt und mehrere Antworten gaben die rohe Session-ID an die Browser. Seitenskript kann das HttpOnly-Flag nicht verwenden, wenn ein Endpunkt den Wert wieder ausliest: - /api/session/extend und /api/session/info zurückgegeben sessionInfo.sessionId, /api/user-info zurückgegeben es als TokenId, /api/debug/cookies als ***Value. Sie geben jetzt eine 8-Zeichen-Vorschau zurück (die einzige Verbraucher war der System Debug-Bildschirm) oder nichts. - /valid wird ohne Session-Gate serviert und jedes Cookie VALUE in die Seite . Server, der auch HttpOnly Cookies sieht. Es zeigt jetzt Namen und Größen. - /api/Session/Extend-Pflanzen *** mit httpOnly: true. Der Browser sendet es immer noch an die EventSources, <img&h/video" und /meet/join, die davon abhängen; Skript kann es nicht mehr lesen. - **************** verfehlt jetzt auch jeden *** Cookie gepflanzt lesbar. Grundvorausschau für den nächsten Schritt, inert bis /api/validate beginnt Ausgabe von Griffen: - app/lib/sessionHandle.ts: die Sitzung eines Tabs HANDLE ist die 128-Hex-ID mit AES-256-GCM unter versiegelt ein Schlüssel abgeleitet (HKDF) von SESSION_HANDLE_SECRET und eine zufällige pro-Browser-Taste in einem HttpOnly __Host-KBK Cookie. Genau 128 Zeichen, so dass jeder vorhandene Client-Check akzeptiert es; nutzlos in jeder andere Browser; Manipulationen verfehlen das tag. sessionHandle.test.ts deckt seal/open, fremd Browser, Manipulation, kein Geheimnis. - Proxy.ts öffnet einen Griff, der in X-***-Token in die reale ID für die Route ankommt, also die 180 € Routen, die lesen, dass Header brauchen keine Änderung; ein Griff, der nicht geöffnet fällt sowohl die Kopfzeile und das geteilte *** Cookie, anstatt die Route auf die Sitzung eines anderen Tabs zurückgreifen zu lassen. Die Der Matcher enthält /api/:path* explizit (die statische Dateiregel übersprungen /api/*.png). - /api/generate-otk gewinnt Zweck=ws (30 s) für WebSocket Handshakes; Logout behält den Browser-Schlüssel (Die Griffe anderer Tabs hängen davon ab). - k8s/deployment.yaml montiert den kamo-internal-session-griff Secret (erzeugt im Cluster).

Alle Änderungen anzeigen

Wie das, was Sie sehen Versand?

Beginnen Sie mit dem kostenlosen Plan und lesen Sie diese Seite in einem Monat erneut, um zu sehen, ob Sie die neuen Funktionen nutzen möchten.

Kostenlos für immer startenPreise anzeigen