Set-Cookie Ayrıştırıcı
Set-Cookie Parser
Öznitelikleri incelemek ve riskli SameSite / Secure kombinasyonlarını işaretlemek için çok satırlı Set-Cookie yanıt başlıklarını yapıştırın.
Çerez Öznitelik Kartları
setCookieParser.attr.maxAgeHint
JSON Önizleme
[
{
"index": 0,
"raw": "session=abc123; Path=/; HttpOnly; Secure; SameSite=Lax",
"name": "session",
"value": "abc123",
"decodedValue": "abc123",
"attributes": [
{
"key": "path",
"value": "/"
},
{
"key": "httponly",
"value": null
},
{
"key": "secure",
"value": null
},
{
"key": "samesite",
"value": "Lax"
}
],
"attributeMap": {
"path": "/",
"httponly": true,
"secure": true,
"samesite": "Lax"
},
"warnings": []
},
{
"index": 1,
"raw": "preview=1; Max-Age=600; SameSite=None; Secure",
"name": "preview",
"value": "1",
"decodedValue": "1",
"attributes": [
{
"key": "max-age",
"value": "600"
},
{
"key": "samesite",
"value": "None"
},
{
"key": "secure",
"value": null
}
],
"attributeMap": {
"max-age": "600",
"samesite": "None",
"secure": true
},
"warnings": [
"warn.missingHttpOnly",
"warn.missingPath"
]
}
]Tarayıcının çerezi neden kabul etmediği genellikle değerin yanlış olmasından değil, Set-Cookie niteliklerinin yanlış olmasından kaynaklanır.
İlgili Öneriler
Set-Cookie Ayrıştırıcı nedir?
Set-Cookie Ayrıştırıcı, HTTP yanıt başlıklarındaki `Set-Cookie` içeriğine özel olarak odaklanmış bir hata ayıklama aracıdır. Amacı bir metin satırını noktalı virgülle basitçe ayırmak değil, geliştiricilerin şu soruları yanıtlamasına yardımcı olmaktır: sunucunun bu çerez yapılandırması doğru mu, tarayıcı neden kabul etmedi, hangi nitelik kombinasyonları güvenlik veya uyumluluk riski taşıyor ve mevcut Set-Cookie siteler arası, SSO, iframe, üçüncü taraf çerezler veya oturum senaryoları için uygun mu.
İstek başlığındaki Çerez'den farklı olarak, Set-Cookie sunucunun 'tarayıcıya gönderdiği yapılandırma talimatıdır'. Yalnızca `name=value` içermekle kalmaz, aynı zamanda SameSite, Secure, HttpOnly, Path, Domain, Expires, Max-Age, Partitioned gibi nitelikleri de taşır; bu alanlar tarayıcının yazıp yazmayacağını, ne zaman sona ereceğini, hangi yollar ve etki alanlarında geçerli olacağını ve siteler arası isteklerde gönderilip gönderilemeyeceğini doğrudan belirler. Bu nedenle birçok 'oturum kaybı', 'tarayıcı çerez göndermiyor', 'etki alanları arası senaryoda çalışmıyor' sorununun temel nedeni değerin kendisinde değil, Set-Cookie'nin nitelik yapılandırmasındadır.
Mevcut sayfanın değeri, bu nitelikleri orijinal yanıt başlığından yapılandırılmış olarak çıkarmak ve ardından tarayıcının gerçek kurallarına göre statik kontrol yapmaktır. Örneğin SameSite=None için Secure eksik mi, Partitioned Secure ile birlikte mi, __Host- öneki yanlışlıkla Domain ayarlamış mı, Max-Age geçersiz mi veya 0'a eşit mi, Expires için Max-Age eksik mi. Tarayıcı genellikle bu sorunları sözdizimi hatası gibi doğrudan bildirmez, sessizce reddeder veya 'çalışmıyor' olarak görünür; bu nedenle araç destekli kontrol çok önemlidir.
Yalnızca istekte şu anda hangi çerezlerin gönderildiğini bilmek istiyorsanız, bu sayfada kalmayın, istek başlıklarını ayırmak için daha uygun olan 'HTTP Çerez Ayrıştırıcı'ya gidin. Mevcut sayfa daha çok 'tarayıcı neden yazmadı', 'sunucunun bu çerez yapılandırmasında gizli sorunlar var mı', 'siteler arası ve güvenlik nitelik kombinasyonu mantıklı mı' gibi yanıt başlığı inceleme senaryoları için uygundur.
Kullanım senaryoları
- Tarayıcı çerez yazmayı reddettiğinde, sorunun SameSite, Secure, HttpOnly yoksa Path/Domain yapılandırması mı olduğunu hızlıca tespit etme
- Üçüncü taraf oturum açma, SSO, iframe yerleştirme veya siteler arası istek senaryolarında SameSite=None'in Secure ile doğru şekilde eşlenip eşlenmediğini kontrol etme
- Güvenlik denetimi sırasında arayüzlerin döndürdüğü çerezleri HttpOnly, SameSite eksikliği veya yüksek riskli nitelik kombinasyonları açısından toplu olarak kontrol etme
- __Host-/__Secure- önekli çerezlerin tarayıcının güçlü kısıtlamalarını karşıladığını doğrulama, sessizce atılmasını önleme
- Partitioned Cookie / CHIPS üç taraf bölümlendirme şemasını hata ayıklarken Partitioned ile Secure'un aynı anda bildirilip bildirilmediğini doğrulama
- Ortam değiştirdikten sonra oturum anormalliklerini gidermek için geliştirme, test ve üretim ortamlarındaki Set-Cookie yanıt başlıklarının farklılıklarını karşılaştırma
Nasıl Kullanılır
- Tarayıcı DevTools, paket yakalama aracı veya sunucu günlüklerinden Set-Cookie yanıt başlığı içeriğini kopyalayın (çok satırlı desteklenir)
- Giriş alanına yapıştırın, araç otomatik olarak `Set-Cookie:` önekini kaldıracak ve satır satır ayrıştıracaktır
- Her çerezin adını, değerini, URL çözülmüş değerini, nitelik kartlarını ve uyarı etiketlerini görüntüleyin
- Orijinal başlığı kopyalayın veya JSON önizlemesini görüntüleyin, sonuçları arka uca gönderin, Issue'ya yapıştırın veya test betiklerine yazın
Özellikler
- Birden fazla Set-Cookie'yi bağımsız ayrıştırma: her satır ayrı kartta, isim, orijinal değer, URL çözülmüş değer ve nitelikler tek tek görüntülenir
- 14 yaygın sorunun otomatik kontrolü: SameSite, Secure, HttpOnly, Path, Domain, Max-Age, Expires, __Host-/__Secure- önekleri ve Partitioned gibi yüksek riskli konuları kapsar
- Tam nitelik ayrıştırma: SameSite, Secure, HttpOnly, Path, Domain, Expires, Max-Age, Partitioned alanları yapılandırılmış olarak görüntülenir
- Max-Age için insan tarafından okunabilir dönüşüm: saniyeler otomatik olarak dakika, saat ve güne çevrilir, manuel dönüşüm zahmetini azaltır
- Çok satırlı toplu giriş: DevTools veya paket yakalama araçlarından kopyalanan tüm Set-Cookie yanıt başlığı bloğunu doğrudan yapıştırabilirsiniz
- Orijinal başlık kopyalama ve JSON önizleme: hem arka uca geri göndermek hem de belge, Issue, betik ve test senaryoları yazmak için uygundur
- Yerel sıfır yükleme: hassas Oturum, Token ve oturum çerezleri tarayıcı içinde ayrıştırılır, cihazdan ayrılmaz
Set-Cookie Ayrıştırıcı ne zaman kullanılır, diğer iki sayfa ne zaman kullanılır?
'Sunucunun ne yapılandırdığını' ve 'istekte gerçekte ne gönderildiğini' görmek iki farklı şeydir, bunları karıştırarak inceleme yapmayın.
| Araç | Uygun giriş | En uygun senaryolar | Temel avantaj |
|---|---|---|---|
| Set-Cookie Ayrıştırıcı (mevcut sayfa) | Set-Cookie yanıt başlığı | Tarayıcının çerezi neden reddettiğini, siteler arası gönderimin neden çalışmadığını, güvenlik nitelik yapılandırmasında neden risk olduğunu araştırmak | Nitelik ayrıştırması tamdır ve 14 yüksek frekanslı yapılandırma sorununu otomatik olarak kontrol eder |
| HTTP Çerez Ayrıştırıcı | Çerez istek başlığı, document.cookie | İstekte gerçekte hangi çerezlerin gönderildiğini doğrulamak, değerlerin URL kodlu olup olmadığını, yinelenen adlar olup olmadığını kontrol etmek | İstek başlığındaki ad-değer çiftlerini ayırmaya ve standartlaştırılmış çıktıya daha fazla odaklanırHTTP Çerez Ayrıştırıcı'yı Aç |
| Çerez Ayrıştırıcı | Çerez dizeleri ile Set-Cookie karışık inceleme senaryoları | Elinizdeki verinin kaynağından henüz emin olmadığınızda veya tek bir sayfada Çerez / Set-Cookie iki mod arasında hızlıca geçiş yapmak istediğinizde | Çerez hata ayıklama için genel bir giriş noktası gibidir ve Netscape Cookie File dışa aktarmayı desteklerÇerez Ayrıştırıcı'yı Aç |
Best Practices
Önce sorunun 'yazma başarısızlığı' mı yoksa 'istekte gönderilmeme' mi olduğunu belirleyin
Tarayıcı çerezi hiç yazmadıysa önce mevcut sayfaya bakın; tarayıcı yazdıysa ancak sonraki isteklerde göndermediyse, HTTP Çerez Ayrıştırıcı ile birlikte inceleyin. Set-Cookie ve Çerez istek başlığı iki farklı aşamadır.
Siteler arası senaryolarda önce SameSite=None ve Secure kombinasyonunu kontrol edin
SSO, üçüncü taraf oturum açma, iframe yerleştirme, etki alanları arası isteklerde en yaygın tuzak SameSite=None olup Secure yapılandırılmamasıdır. Önce bu grup sorunu temizleyin, ardından sunucu mantığına ve tarayıcı politikalarına bakın.
__Host- / __Secure- öneklerinde sadece isme bakmayın, kısıtlamaların tam olup olmadığını kontrol edin
Birçok ekip çerez adına `__Host-` veya `__Secure-` eklemenin zaten daha güvenli hale getirdiğini düşünür, ancak Secure, Path=/, Domain gibi eşlik eden koşullar sağlanmazsa tarayıcı yine yazmayı reddeder.
Belge yazarken ve Issue'ları yeniden oluştururken orijinal başlık ve JSON olmak üzere iki materyali birden saklayın
Orijinal başlık arka uç ve DevOps'un gerçek dönüş değerlerini kontrol etmesi için uygundur; JSON Issue, test senaryoları ve betiklere yapıştırarak daha fazla işlem yapmak için uygundur. İkisini birden sakmak, yeniden oluşturma ve iş birliği için yalnızca DevTools ekran görüntüsü almaktan daha iyidir.
Sık Sorulan Sorular
Set-Cookie ayrıştırıcı ile Çerez istek başlığı ayrıştırıcı arasındaki fark nedir?
Set-Cookie ayrıştırıcı sunucu yanıt başlıklarına yöneliktir, odak noktası 'tarayıcı bu çerezi kabul eder mi, niteliklerde sorun var mı'; Çerez istek başlığı ayrıştırıcı tarayıcının gönderdiği isteklere yöneliktir, odak noktası 'bu istekte hangi çerezler gönderiliyor'. SameSite, HttpOnly, Secure, Path, Domain, Expires, Max-Age gibi nitelik yapılandırma sorunlarını araştırıyorsanız, önce mevcut sayfayı kullanmalısınız.
HTTP Çerez AyrıştırıcıTarayıcı yanıtı almasına rağmen neden çerezi yazmıyor?
Mevcut aracın çözmek için en uygun olduğu sorun tam olarak budur. Yaygın nedenler arasında SameSite=None için Secure yapılandırılmaması, Secure çerezin HTTP sayfasında ayarlanmaya çalışılması, __Host- önek ihlali, Partitioned için Secure eksikliği, Path veya Domain yapılandırmasının uygunsuz olması, geçersiz Max-Age veya doğrudan 0 olması ve tarayıcının üçüncü taraf çerez politikası kısıtlamaları bulunur.
Araç hangi yaygın Set-Cookie risklerini kontrol eder?
Mevcut sayfa 14 yüksek frekanslı sorunu otomatik olarak tespit eder: SameSite=None için Secure eksikliği, geçersiz SameSite değeri, Partitioned için Secure eksikliği, HttpOnly eksikliği, Path eksikliği, SameSite eksikliği, __Host- öneki için Secure eksikliği, Path=/ olmaması, yanlış Domain eşleşmesi, __Secure- öneki için Secure eksikliği, geçersiz Max-Age, Max-Age=0, nokta ile başlayan Domain ve Max-Age olmadan Expires.
SameSite=None neden mutlaka Secure ile birlikte yapılandırılmalıdır?
Modern tarayıcılar, siteler arası gönderilebilen çerezler `SameSite=None` bildirirse, aynı anda `Secure` da taşımasını zorunlu kılar; aksi takdirde tarayıcı genellikle doğrudan yazmayı reddeder. Bu tür sorunlar üçüncü taraf oturum açma, SSO, iframe yerleştirme ve etki alanları arası istek hata ayıklamada çok yaygındır.
__Host- ve __Secure- önekli çerezler neden tarayıcı tarafından reddediliyor?
`__Host-` ve `__Secure-` güçlü kısıtlamalara sahip güvenlik önekleridir. `__Host-` Secure olmasını, Path=/ olmasını ve Domain ayarlanmamasını gerektirir; `__Secure-` en azından Secure gerektirir. Bu kurallar ihlal edilirse, tarayıcı ilgili çerezi doğrudan yok sayar.
Max-Age ve Expires nasıl değerlendirilmelidir?
Max-Age saniye cinsinden bağıl süredir, genellikle Expires'dan daha yüksek önceliğe sahiptir; Expires mutlak zaman noktasıdır, istemci saatine bağlıdır. Birçok sunucu Max-Age yazmadan sadece Expires yazar, bu çalışsa da hata ayıklama sırasında saat dilimi veya sistem saat sapması nedeniyle yanlış değerlendirme yapmak daha kolaydır.
Bu araç siteler arası çerez ve üçüncü taraf çerez sorunlarını gidermek için uygun mu?
Uygundur. Üçüncü taraf oturum açma, SSO, iframe yerleştirme, etki alanları arası arayüzler veya CHIPS (Partitioned Cookie) senaryoları olsun, bu araç SameSite, Secure ve Partitioned kombinasyonunun mantıklı olup olmadığını hızlıca görmenize yardımcı olur.
Ayrıştırma sonuçları kopyalamayı veya dışa aktarmayı destekliyor mu?
Destekler. Orijinal Set-Cookie başlığını tek tıklamayla kopyalayabilir, ayrıca yapılandırılmış JSON önizlemesini görüntüleyerek her çerezin adını, değerini, niteliklerini ve uyarı sonuçlarını Issue, belgeler, test betikleri veya entegrasyon kayıtlarına yapıştırabilirsiniz.
Kopyaladığım Oturum, Token'lar sunucuya yüklenir mi?
Yüklenmez. Set-Cookie içerik ayrıştırması, URL çözme, nitelik ayırma ve uyarı kontrolü tamamen tarayıcıda yerel olarak yapılır, hassas yanıt başlıkları sunucuya yüklenmez.
Sözlük
- Set-Cookie
- Sunucunun tarayıcıya bir çerez saklamasını söylediği HTTP yanıt başlığı. Bir yanıtta birden fazla Set-Cookie görünebilir, her biri genellikle bir çereze karşılık gelir.
- SameSite
- Siteler arası isteklerde çerez gönderilip gönderilmeyeceğini kontrol eden nitelik. Yaygın değerler Strict, Lax, None'dur; bunlardan None genellikle aynı anda Secure ayarlanmasını gerektirir.
- HttpOnly
- Ayarlandığında ön uç JavaScript bu çerezi document.cookie üzerinden okuyamaz, temel olarak XSS yoluyla oturum çalma riskini azaltmak için kullanılır.
- Secure
- Ayarlandığında tarayıcı bu çerezi yalnızca HTTPS (veya localhost istisnası) bağlantılarında gönderir, hassas çerezlerin düz metin HTTP'de açığa çıkmasını önler.
- Max-Age
- Çerezin saniye cinsinden bağıl yaşam süresi. Genellikle Expires'dan daha yüksek önceliğe sahiptir, sunucuda açıkça ayarlanması önerilir.
- Expires
- Çerezin mutlak sona erme zamanı, istemcinin yerel saatine bağlıdır. Tek başına kullanıldığında hata ayıklama maliyeti genellikle Max-Age'den daha yüksektir.
- Path
- Çerezin geçerli olacağı URL yol önekini kısıtlar. Path eşleşmediğinde, çerez yazılmış olsa bile sonraki isteklerde gönderilmez.
- Domain
- Çerezin geçerli olacağı etki alanı aralığını kısıtlar. Ayarlanmadığında genellikle yalnızca mevcut ana bilgisayarla sınırlıdır; ayarlandığında alt etki alanlarına da etki edebilir.
- Partitioned (CHIPS)
- Üçüncü taraf çerezleri için bölümlenmiş depolama çözümü, tarayıcıların üçüncü taraf çerezleri kademeli olarak sıkılaştırmasından sonra alternatif yol olarak sıklıkla kullanılır. Mevcut uygulama genellikle Secure ile birlikte kullanılmasını gerektirir.
- __Host- / __Secure- önekleri
- Tarayıcı tarafından desteklenen, güçlü kısıtlama kurallarına sahip yüksek güvenlikli çerez adlandırma önekleri. Kurallar ihlal edildiğinde tarayıcı ilgili çerezi kabul etmeyi reddeder.
SameSite üç stratejisi karşılaştırma hızlı başvuru tablosu
Siteler arası çerezleri incelerken önce SameSite'nin davranış sınırlarına bakın, ardından Secure eksikliğini kontrol edin.
| SameSite değeri | Siteler arası üst düzey gezinme (GET) | Siteler arası alt kaynaklar (img/iframe/script) | Siteler arası POST formu | Siteler arası XHR/fetch | Secure gerekli mi |
|---|---|---|---|---|---|
| Strict | Gönderilmez | Gönderilmez | Gönderilmez | Gönderilmez | Hayır |
| Lax (varsayılan) | Gönderilir | Gönderilmez | Gönderilmez | Gönderilmez | Hayır |
| None | Gönderilir | Gönderilir | Gönderilir | Gönderilir | Secure zorunlu |
Set-Cookie hata ayıklama yüksek frekanslı sorunlar karşılaştırma tablosu
Tarayıcı çerezi sessizce reddettiğinde, önce aşağıdaki yönlere göre kontrol edin, bu genellikle yanıt gövdesine bakmaktan daha hızlıdır.
| Belirti | Yüksek olasılıklı neden | Öncelikle kontrol edin |
|---|---|---|
| Tarayıcı çerezi hiç yazmıyor | SameSite=None için Secure eksik, önek ihlali veya nitelik kombinasyonu geçersiz | Önce mevcut sayfadaki uyarı etiketlerine ve nitelik kartlarına bakın |
| Siteler arası / iframe senaryosunda çalışmıyor | SameSite çok sıkı, Secure eksik veya üçüncü taraf politika kısıtlamaları | SameSite, Secure, Partitioned'a odaklanın |
| Çerez yazılır yazılmaz sona eriyor | Max-Age=0, geçersiz Max-Age, Expires zamanında sorunlar | Önce Max-Age'ye bakın, ardından Expires'a |
| __Host- / __Secure- çerez çalışmıyor | Secure, Path=/ veya Domain kısıtlamaları sağlanmamış | Önek uyarısının tetiklenip tetiklenmediğini kontrol edin |
| Geliştirme ortamında normal, üretim ortamında anormal | HTTPS, Domain, Path, SameSite veya proxy katmanı yanıt farklılıkları | Orijinal başlıkları kopyalayın, farklı ortamlardaki Set-Cookie yanıtlarını karşılaştırın |
Privacy & Security
Set-Cookie yanıt başlığı ayrıştırması, URL çözme, nitelik ayırma ve 14 tür uyarı kontrolü tamamen tarayıcıda yerel olarak gerçekleşir. Yapıştırılan Oturum, Token ve oturum çerezleri hiçbir sunucuya yüklenmez.
- Kimlik Doğrulama Başlığı Oluşturucu
- Cache-Control Çözümleyici
- Content-Disposition Çözümleyici
- CORS Başlık Oluşturucu
- CORS Denetleyici
- CSP Oluşturucu
- cURL'den Koda Dönüştürücü
- Global DNS Yayılma Kontrolü
- DNS Sorgulama
- Forwarded Başlık Çözümleyici
- Hreflang Etiket Oluşturucu
- HSTS Analizörü
- HTTP Çerez Ayrıştırıcı
- HTTP Başlık Denetleyici
- HTTP İstek Test Aracı
- HTTP Durum Kodları Sorgulama
- IP Sorgulama
- IPv4 Dönüştürücü
- IPv4 Aralık Genişletici
- IPv6 Araç Kutusu
- Link Başlık Ayrıştırıcı
- MX Sorgulama
- Port Denetleyici
- URL Parametre Oluşturucu
- Rate Limit Başlık Ayrıştırıcı
- Yönlendirme Denetleyici
- Robots.txt Oluşturucu
- Robots.txt Denetimi
- Güvenlik Başlığı Denetleyici
- Security.txt Oluşturucu
- Set-Cookie Ayrıştırıcı
- Site Ağ Denetimi
- Sitemap Generator
- Sitemap Denetleyici
- SSL Sertifika Denetleyicisi
- Alt Ağ Hesaplayıcı
- URL Çözümleyici
- User-Agent Ayrıştırıcı
- UTM Bağlantı Oluşturucu
- WebSocket Test Aracı
- What Is My IP?
- WHOIS Sorgulama