User Cookie Name
User Cookie Name Koşulu Nedir?
User Cookie Name koşulu, HTTP isteğinde bulunan çerez (cookie) bilgisinin varlığını veya değerini kontrol ederek trafik yönlendirme ve manipülasyon kararları almak için kullanılan bir koşul tipidir.
Çerezler (Cookie), istemci (tarayıcı) ile sunucu arasında durum (state) bilgisini saklamak ve taşımak için kullanılan küçük veri parçacıklarıdır. HTTP stateless olduğu için, oturum ve kullanıcı takibi cookie'ler ile sağlanır.
Çerezler, Cookie HTTP başlığı içinde taşınır.
Bu koşul, istemciden gelen istek çerezlerini kontrol eder.
WARNING
User Cookie Name koşulu hem Request hem Response aşamasındaki kurallarda seçilebilir; çerez değeri her iki aşamada da istekteki Cookie başlığından okunur.
User Cookie Name Koşulunun Önemi
Çerezler, oturum yönetimi, kullanıcı tercihleri, takip ve kimlik doğrulama için yaygın olarak kullanılır.
User Cookie Name koşulu sayesinde;
- Oturum çerezlerinin varlığı kontrol edilebilir,
- Kullanıcı tercihlerine göre farklı içerik sunulabilir,
- Tracking çerezlerinin değerine göre özel işlemler uygulanabilir,
- Kimlik doğrulama çerezleri kontrol edilebilir.
User Cookie vs Server Cookie:
| Kriter | User Cookie | Server Cookie |
|---|---|---|
| Yön | İstek (Request) | Yanıt (Response) |
| Başlık | Cookie | Set-Cookie |
| Kullanım | İstemci → Sunucu | Sunucu → İstemci |
| Değerlendirme | Request + Response aşaması (değer istekten okunur) | Yalnız Response aşaması |
Kullanılabildiği vService Tipleri
Koşul, hem istek (At Request) hem yanıt (At Response) aşamasında kullanılabilir; çerez değeri istek anında okunur ve yanıt aşamasında da aynı değer üzerinden değerlendirilir: sunucu tarafı çerezleri için Server Cookie Name kullanılır.
Nasıl Eklenir?
Yeni bir User Cookie Name Koşulu, TR7 web yönetim arayüzü üzerinden aşağıdaki adımlar izlenerek eklenebilir:
- Sol altta bulunan TR7 logosuna tıklanarak Configuration Menu açılır.
- Load Balancer → Conditions → Add adımları takip edilir.
- Criteria olarak User cookie name seçilir.
- Koşula ait ilgili konfigürasyonlar yapılandırılır.
Addbutonuna tıklanarak koşul eklenir.
User Cookie Name Koşulu Ekleme Formu
User Cookie Name Koşulu Ekleme Formu
INFO
Condition Name
Oluşturulacak koşul için isteğe bağlı bir isim girilebilir.
Bu alan, özellikle aşağıdaki senaryolarda önemlidir:
- Aynı vService altında çok sayıda koşul tanımlandığında,
- Benzer kriterlere sahip koşulların ayırt edilmesi gerektiğinde,
- Koşulun hangi iş kuralını temsil ettiğinin hızlıca anlaşılması istendiğinde.
Bu alan boş bırakıldığında, TR7 ilgili koşulun içeriğini analiz ederek Condition Description alanında otomatik ve açıklayıcı bir isim oluşturur. Oluşturulan bu açıklama, koşul listelerinde isim olarak kullanılır.
INFO
Criteria Zorunlu
Koşulun tipini belirleyen alandır; aranabilir açılır listeden User cookie name seçilir. Bu seçim, formda görüntülenecek alanları belirler. Kriter, koşul kaydedildikten sonra değiştirilemez: farklı bir kritere ihtiyaç duyulursa yeni bir koşul tanımlanır. Listedeki tüm kriterler ve kapsamları için Conditions sayfasındaki kriter kataloğuna bakılabilir.
INFO
Cookie Name Zorunlu
Kontrol edilecek çerezin adı bu alana girilir.
Yaygın Çerez Örnekleri:
| Çerez Adı | Tipik Kullanım |
|---|---|
session_id | Oturum tanımlayıcı |
JSESSIONID | Java oturum çerezi |
PHPSESSID | PHP oturum çerezi |
_ga | Google Analytics |
ab_test | A/B test grubu |
user_pref | Kullanıcı tercihleri |
INFO
Content Matching Method Varsayılan: Exact match
İçeriğin nasıl eşleştirileceğini belirler. Alan, formda etiketsiz bir açılır liste olarak Criteria'nın hemen altında görünür ve Exact match seçili açılır.
| Seçenek | Kod | Açıklama |
|---|---|---|
| Exact match | exactMatch | Değer birebir eşleşmelidir. |
| Start | start | Değer belirtilen metinle başlamalıdır. |
| End | end | Değer belirtilen metinle bitmelidir. |
| Includes | sub | Değer belirtilen metni içermelidir. |
| Regex | regex | Değer düzenli ifadeyle eşleşmelidir. |
| Is present | found | Yalnızca varlık kontrolü sağlanır. (değer önemli değil) |
TIP
Is Present seçildiğinde, çerezin yalnızca var olup olmadığı kontrol edilir. Değeri önemli değildir.
Örnek: session_id çerezinin varlığı kontrolü.
INFO
Case Insensitive Varsayılan: Kapalı
Büyük/küçük harf duyarlılığını kontrol eder.
- Aktif:
example,EXAMPLE,Exampleaynı kabul edilir - Aktif Değil: Tam eşleşme gerekir (varsayılan)
INFO
Query Zorunlu
Eşleştirilecek olan değer bu alana girilir. Seçilen eşleştirme yöntemine göre:
- Exact match: Değerin birebir karşılığını kontrol eder.
- Start: Aranacak metin parçasının başlangıcını kontrol eder.
- End: Aranacak metin parçasının bitişini kontrol eder.
- Includes: Aranacak metin parçasının içinde geçme durumunu kontrol eder.
- Regex: Düzenli ifade deseni (Regex) ile kontrol eder.
Is present seçildiğinde bu alan ve Case Insensitive gizlenir.
Örnek Değerler:
abc123: Tam oturum ID eşleştirmedark: Tema tercihi kontrolü^[a-f0-9]{32}$: MD5 hash formatı regex
INFO
Condition Description
Girilen kriter ve değerler doğrultusunda TR7 tarafından otomatik olarak oluşturulur.
Bu açıklama;
- Koşulun hangi değer için geçerli olduğunu,
- Hangi kriter üzerinden çalıştığını,
- Listeleme ekranlarında koşulun hızlıca anlaşılmasını
sağlayacak şekilde sistem tarafından dinamik olarak üretilir.
TIP
Eşleştirme, çerezin değeri üzerinde yapılır; Case Insensitive seçeneği de yalnızca değere uygulanır: çerez adı her zaman büyük/küçük harfe duyarlıdır. Çerez değeri, aksiyonlarda İstek Çerez bilgisi akıllı değişkeniyle, çerez adı verilerek de kullanılabilir.
INFO
Form Butonları
Add
Add butonuna tıklanarak koşul ekleme işlemi tamamlanır.
Add & Repeat
Add & Repeat butonu ile koşul ekleme işlemi tamamlanır ve farklı konfigürasyonlarla ilgili pencereden çıkılmadan yeni bir koşul daha eklenebilir.
Koşul Eklendi
Operasyonel Kullanım Önerileri
- Oturum Kontrolü için Is Present Kullanın. Oturum çerezinin varlığını kontrol etmek için Is Present yöntemini kullanın; değeri değişken olabilir.
- Güvenlik Çerezlerini Değerlendirin. Hassas çerezlerde (auth token, session) değer kontrolü yaparken regex ile format doğrulaması yapın.
- Çerez İsimleri Case-Sensitive'dir. Çerez isimleri büyük/küçük harf duyarlıdır.
Session_IDvesession_idfarklı çerezlerdir. - URL Encoding'e Dikkat. TR7 çerez değerini decode etmez: eşleşme ham (kodlanmış) değer üzerinde yapılır. Çerez değerleri URL encode edilmiş olabilir. Özel karakterler için bunu göz önünde bulundurun.
Canlı Ortamlarda Yaygın Kullanım Senaryoları
Aşağıdaki örnekler, ilgili koşulun gerçek sistemlerde en sık karşılaşılan kullanım senaryolarında nasıl uygulandığını göstermektedir. Bu senaryolar, canlı ortamlarda yaygın olarak tercih edilen ve sahada edinilmiş deneyimlere dayanan pratikleri temel alır.
Senaryo 1: Session Cookie Kontrolü ve Giriş Yönlendirmesi
Kullanım Amacı: Oturum çerezinin varlığını kontrol edip yetkisiz erişimleri login sayfasına yönlendirmek.
Konfigürasyon: Cookie name → session_id · Content Matching Method → Is present
Aksiyon Önerileri:
- ✅ Location Redirection → Session cookie yoksa kullanıcı
/login?redirect={original_path}sayfasına 302 yönlendirilir.
Senaryo 2: Kullanıcı Tercihleri (Tema, Dil)
Kullanım Amacı: Kullanıcı tercihlerine göre özelleştirilmiş içerik sunmak ve tema/dil bazlı yönlendirme yapmak.
Konfigürasyon: Cookie name → theme · Content Matching Method → Exact match · Query → dark
Aksiyon Önerileri:
- ✅ Set HTTP Header →
X-Theme: darkveX-CSS-Variant: dark-modeheader'ları eklenir.
Senaryo 3: GDPR Cookie Consent Uyumluluğu
Kullanım Amacı: GDPR/Cookie consent durumunu kontrol etmek ve compliance metriklerini izlemek.
Konfigürasyon: Cookie name → cookie_consent · Content Matching Method → Exact match · Case insensitive → işaretli · Query → accepted
Aksiyon Önerileri:
- ✅ Manage HTTP Security Headers →
X-Consent-Status: grantedheader eklenir, tracking izni onaylanır.
Senaryo 4: Beta Özellik Erişim Kontrolü
Kullanım Amacı: Beta özellik erişim çerezini kontrol etmek ve rate-limit uygulamak.
Konfigürasyon: Cookie name → beta_access · Content Matching Method → Is present
Aksiyon Önerileri:
- ✅ Quarantine → Beta access olmadan
/beta/*path'lerine 5+ erişim deneyen IP'ler 15 dakika karantinaya alınır.
