Login sonrası URL'e eklenen ?_cb=1771814576 parametresinin araştırması
Kullanıcı siteye giriş yaptığında, tarayıcı (Chrome, Safari vs.) daha önce ziyaret ettiği sayfaları hafızasında tutar. Bu "önbellek" (cache) sayesinde sayfa daha hızlı yüklenir ama sorun şu: Tarayıcı hafızadaki eski sayfayı gösterir ve kullanıcı giriş yapmış gibi görünmez.
_cb=1771814576 parametresi URL'in sonuna eklenen bir "zaman damgası"dır. Her giriş yapıldığında farklı bir sayı eklenir, böylece tarayıcı bu URL'i "daha önce görmediğim yeni bir sayfa" olarak algılar ve hafızadaki eskisini kullanmak yerine sunucudan taze içeriği çeker.
Neden önemli? Bu parametre olmazsa, giriş yaptıktan sonra hâlâ "Giriş Yap" butonu görünebilir veya kullanıcıya özel içerikler (favoriler, playlist vb.) yüklenmeyebilir.
store() metodu: Login form submit edildiğinde, redirect URL'ine _cb=time() ekleniyor.
_cb tek başına değil, çok katmanlı bir cache stratejisinin parçası:
Auth kullanıcılar icin shouldCacheRequest() her zaman false doner. Sunucu tarafinda auth sayfalar asla cache'lenmez.
TenantCacheProfile'da ['_', 'lang_changed', 'cb', 'no_cache'] parametreleri cache'i bypass eder.
Login redirect'inde no-cache, no-store, must-revalidate header'ları gönderilir. Tarayıcıya "bu sayfayı saklama" der.
URL'e ?_cb=timestamp eklenir. Tarayıcının URL-based cache mekanizmasını bypass eder. En son savunma hattı.
Login sırasında Spatie ResponseCache tamamen temizlenir. Guest cache'lerin auth sonrası gösterilmesini engeller.
Middleware: Auth kullanıcılar icin dinamik sayfalara (favorites, playlists, dashboard) no-cache, private header koyar.
_cb vs cb FarkıPotansiyel Uyumsuzluk Tespit Edildi
| AuthenticatedSessionController | _cb parametresi ekliyor (alt tire ile) |
| TenantCacheProfile bypass listesi | cb parametresini tanıyor (alt tiresiz) |
Sonuç: _cb parametresi TenantCacheProfile'ın bypass listesinde yok. Ancak bu pratikte sorun yaratmıyor çünkü auth kullanıcılar zaten Katman 1'de (auth()->check()) cache'den hariç tutuluyor.
Yine de tutarlılık için _cb'yi bypass listesine eklemek veya parametre adını cb yapmak düşünülebilir.
| Parametre | _cb |
| Değer | 1771814576 = time() (Unix timestamp) |
| Tarih Karşılığı | 23 Şubat 2026 (login anı) |
| Sunucu tarafında kullanılıyor mu? | Hayır - Hiçbir controller veya middleware bu değeri okumuyor |
| Tek amacı | Tarayıcının URL-based cache'ini kırmak (her login'de farklı URL oluşturmak) |
_cb = Login sonrası tarayıcı cache'ini kırmak için eklenen timestamp parametresi
_cb (alt tireli) ekleniyor ama TenantCacheProfile bypass listesinde cb (alt tiresiz) var. Pratikte sorun yok ama tutarlılık için düzeltilebilir.