跳至主要內容
Lizely

Cookie 轉 JSON 轉換器

將嚴格的 Cookie 請求標頭轉為 JSON 字串對應物件,並在本機執行反向轉換,不進行解碼,亦不會靜默覆蓋值。

隱私權:你的檔案不會離開裝置,所有處理均在瀏覽器本機完成。

使用方式

  1. 1.選擇 Cookie 並輸入 JSON 對應的純文字 Cookie 請求值,或完整之 Cookie:字首加上值。
  2. 2.或選擇 JSON 並提供一個非空物件,其解碼後的鍵與字串值符合 Cookie 的規範。
  3. 3.轉換後請審查每一個保留的字串與鍵值對數,然後複製完整的本機輸出。

關於Cookie 轉 JSON 轉換器

Cookie 轉 JSON 會將 HTTP Cookie 請求標頭的值轉為平坦的 JSON 物件,並可將平坦的 JSON 字串物件轉回 Cookie 請求標頭值。雙向轉換皆在當前瀏覽器標籤中執行。可貼上純標頭值,例如 SID=abc; lang=en-US,或包含精確的 Cookie: 標題字首。輸出為純文字,僅顯示於只讀區域,絕不會傳送至 Lizely 或其他服務。

本工具僅處理 Cookie 請求標頭,不解析 Set-Cookie 回應標頭,亦不會將 Domain、Path、Expires、Max-Age、Secure、HttpOnly、SameSite、Partitioned、Priority 或延伸屬性視為請求 Cookie。這些屬性由伺服器在 Set-Cookie 中提供,並不會由瀏覽器在 Cookie 請求欄位中返回。Cookie 標頭無法揭露該 Cookie 的過期時間、允許的主機、路徑、安全狀態或 HttpOnly 狀態。因此貼上精確的 Set-Cookie: 字首將產生明確錯誤,而非誤導性的 JSON 輸出。

Cookie 輸入遵循嚴格的 RFC 6265 請求序列化架構。每對必須為 name=value。多對必須以恰好一個分號後接一個 ASCII 空格分隔。等號兩側的空白、缺少分隔符空格、多個分隔符空格、尾隨分號或空對皆被拒絕,不會被標準化。若包含可選的欄位名稱,Cookie 必須緊接冒號;Cookie : 結構錯誤。欄位名稱的比對為不區分大小寫,因此 COOKIE:a=1 可被接受。貼入行內的外層 ASCII 空白會被忽略以提升使用便利性。

每對中僅第一個等號具有結構意義。其餘等號視為值資料,保留 Base64 風格的填充,例如 abc==、簽名標籤、查詢字串或含等號的 URL。空值如 preference= 皆為合法。空名或無等號的對應將被拒絕。Cookie 名稱遵循 RFC 標準的 token 樣式,且為大小寫敏感,因此 SID 與 sid 為兩種不同名稱。包含空白、分隔符、控制字元或其他非 token 字元的名稱將被拒絕。

值使用 RFC Cookie 值架構:未引號的許可 Cookie octet 序列,或相同序列以雙引號包圍。百分比序列不會被 URL 解碼、轉義、標準化或解析。例如 %2F 仍保留為百分比、2 與 F 三個字元。原始空白、逗號、分號、反斜線、控制字元或超出 Cookie octet 的字元將被拒絕。對於合法的引號值,其引號字元將在 JSON 輸出與反向轉換中完整保留,因為這些字元屬於此工具使用的序列化 Cookie 標頭值的一部分。

一個 JSON 物件無法在不選擇勝出的情況下保留兩個相同解碼名稱的成員。若 Cookie 輸入包含重複名稱將被拒絕,而非採用先進或後進策略。名稱比對為大小寫敏感。JSON 輸入在轉換前會先進行重複感知的詞法掃描,因此即使普通 JSON.parse 會靜默保留單一,如 a 與 \u0061 的轉義拼寫也會被視為相同鍵。Cookie 轉 JSON 的輸出將使用內部 null-prototype 圖表組裝。

在雙向轉換中,__proto__、prototype 與 constructor 這三個鍵皆被阻斷,作為防禦性設計的原型汙染邊界。即使 JSON 字串可表示這些字串,且內部前向圖表無原型,拒絕這些鍵可防止下游程式將產生輸出視為安全的賦值來源。本工具並未聲稱任意下游 JSON 處理為安全;使用者仍需安全地解析與合併不可信資料。

JSON-to-Cookie模式僅接受一個非空的JSON物件。每個屬性值必須為JSON字串。數字、布林值、null、陣列、巢狀物件、註解、尾隨逗號以及物件後的文字都會被拒絕。JSON字串轉義符號會在Cookie驗證前進行解碼。因此,轉義後的換行符號會失敗,因為其解碼後的控制字元並非Cookie值資料。重複的解碼鍵值會在序列化前失敗。接受的鍵值對會使用相同的分號加一個空格分隔符號進行連線。

反向驗證會將解碼後的鍵值視為 RFC 標準的 token,並將解碼後的值視為符合規範的 Cookie 值。它不會對禁止字元進行百分編碼、自動加上引號、移除引號、排序成員、推斷路徑,或產生 Set-Cookie 標頭屬性。JSON 物件的成員順序會透過詞法對對掃描保留,以方便輸出,但 Cookie 的語義不應依賴序列化順序。伺服器可使用應用專屬的規則來解析 Cookie 值,但本轉換器並不知曉這些規則。

輸入僅限於恰好100,000 UTF-16碼元,完整輸出亦限於200,000碼元。精確的限制被接受,下一碼元將被拒絕。介面不使用maxLength來靜默地阻止輸入,轉換從來不會切片、限制、取樣、跳過或部分返回輸入。零或無效的輸出長度將被拒絕。任何錯誤會在發布訊息前移除先前成功的結果。

編輯輸入或切換方向可清除之前的輸出,錯誤,對數,剪貼簿狀態和剪貼簿時間表.剪貼簿寫作是無同步的. 每次複製試圖都收到一代識別碼,並安裝的狀態保護器阻止舊的許可反應在編輯,方向更改,重新嘗試或解除安裝後恢復複製.剪貼簿拒絕讓完整的輸出可供手動選擇.沒有自行讀取的 Cookie.cookie,沒有瀏覽器 Cookie 儲存,沒有 HTTP 要求.。

此轉換器可用於除錯 Cookie 請求標頭欄位、將已審核的字串對映轉為 JSON,或從已審核的 JSON 字串產生請求標頭值。請勿用於檢視瀏覽器儲存、建立 Set-Cookie 回應、保留屬性、解碼應用程式的會話格式、判斷 Cookie 是否安全,或在分享前清理憑證。Cookie 標頭常包含即時會話金鑰,請務必保密,並在金鑰洩露後立即更換。對於一般性的 JSON 工作,建議使用 JSON 格式化工具、JSON 驗證工具或 JSON 縮減工具。對於與之無關的標記清理,請使用 HTML 清潔工具。

方法與來源

拒絕空值輸入以及超過 100,000 UTF-16 字元的輸入。針對 Cookie 轉換為 JSON 時,拒絕控制元件與 Set-Cookie 操作,僅接受精確的可選 Cookie:字首,要求名稱=值對,必須以分號加一個空格分隔,且僅在第一個等號處分割,不修剪內部邊界空白。名稱需符合 RFC 標準 token,值則為 cookie-octets 或以雙引號包覆的 cookie-octets,重複性需區分大小寫,且對具有原型風險的名稱需明確標示;序列化為 null-prototype 對映,使用兩空格的 JSON 縮排。從 JSON 到 Cookie 的語法解析,必須精確解析一個非空物件,所有值為字串,解碼轉義時需偵測重複解碼的鍵,並應用相同的 Cookie 模板,各對之間以完全相同的分隔符連線。保留百分比序列與合法引號。拒絕無效、長度為零或超過 200,000 字元的輸出。每當進行編輯或模式切換,皆需無效化結果與產生守衛的剪貼簿完成。

常見問題

這工具能轉換 Set-Cookie 回應標頭嗎?
不能。Set-Cookie 攜帶如 Domain、Path、Expires、Secure、HttpOnly 與 SameSite 之類的回應屬性。本工具僅處理嚴格的 Cookie 請求標頭對。
為何此工具拒絕等號兩側的空白或不標準的分號間距?
它遵循嚴格的 Cookie 請求序列化邊界:名稱與值以恰好分號加一個空格分隔。它不會靜默地規範錯誤輸入。
百分編碼的值、URL 或額外的等號會被解碼嗎?
不會。百分編碼序列與允許的標點符號會原樣保留,僅在每對中第一個等號用來分隔名稱與值。
為何會拒絕重複或原型相關的名稱?
JSON 物件無法保留重複的解碼名稱,且與原型相關的鍵名在下游的賦值程式碼中可能造成危險。拒絕這些名稱可避免隱藏的覆蓋問題,並降低汙染風險。

開發者工具 使用指南

查看全部