Secure cookie ayarı HTTPS olmayan sayfalarda oturum çerezinin gönderilmemesine yol açar. WordPress, sunucu ve yönlendirme tarafında dikkat edilmesi gerekenleri öğrenin.
Secure cookie ayarı, oturum çerezinin yalnızca HTTPS bağlantısı üzerinden tarayıcıya gönderilmesini sağlar. Bu ayar güvenlik açısından doğru bir tercihtir; ancak sitenin tamamı HTTPS çalışmıyorsa veya bazı sayfalar hâlâ HTTP üzerinden açılıyorsa beklenmeyen oturum sorunları ortaya çıkar. Kullanıcı giriş yapmış görünmez, sepet bilgisi kaybolur, yönetim paneli tekrar tekrar giriş ister ya da uygulama belirli sayfalarda kimliği doğrulanmamış gibi davranır.
Bir çerez Secure bayrağı ile işaretlendiğinde tarayıcı bu çerezi sadece şifreli HTTPS isteklerinde sunucuya gönderir. Amaç, oturum kimliği gibi hassas bilgilerin açık HTTP trafiğinde taşınmasını engellemektir. Özellikle yönetim panelleri, üyelik sistemleri, ödeme adımları ve kullanıcıya özel içerik sunan uygulamalarda bu davranış kritik öneme sahiptir.
Sorun, uygulamanın veya WordPress sitesinin bazı bölümlerinin HTTPS, bazı bölümlerinin HTTP çalıştığı karma yapılarda başlar. Tarayıcı güvenlik kuralını uygular ve HTTP sayfaya yapılan istekte Secure işaretli çerezi göndermez. Sunucu da çerezi alamadığı için kullanıcıyı tanıyamaz.
Oturum yönetimi çoğunlukla tarayıcıdaki çerez ile sunucu tarafındaki oturum kaydının eşleşmesine dayanır. HTTPS sayfasında giriş yapan kullanıcıya Secure çerez verildiğinde, aynı kullanıcı HTTP sayfaya geçtiğinde bu çerez isteğe eklenmez. Bu durumda uygulama yeni bir ziyaretçiyle karşılaştığını varsayabilir.
Bu davranış bir hata değil, tarayıcıların bilinçli güvenlik önlemidir. Yani problemi sadece kod tarafında aramak çoğu zaman zaman kaybettirir. Alan adı, yönlendirme, SSL sertifikası, ters proxy, CDN ve hosting yapılandırması birlikte kontrol edilmelidir.
Secure cookie kaynaklı problemler her zaman açık bir hata mesajı üretmez. Bu nedenle belirtileri doğru okumak önemlidir:
WordPress sitelerde ilk kontrol edilmesi gereken alan site adresleridir. Yönetim panelindeki WordPress Adresi ve Site Adresi değerleri HTTPS olmalıdır. Veritabanında farklı kayıtlar, eklenti kaynaklı yönlendirmeler veya tema içinde sabit yazılmış HTTP adresler varsa karma içerik ve oturum sorunları devam edebilir.
PHP uygulamalarında ise çerezin hangi koşullarda üretildiği incelenmelidir. Örneğin yalnızca HTTPS ortamında Secure bayrağı vermek geçici bir çözüm gibi görünebilir; fakat kullanıcı güvenliği açısından asıl hedef tüm trafiği HTTPS üzerinden çalıştırmaktır.
setcookie('session_id', $sessionId, [
'expires' => time() + 3600,
'path' => '/',
'domain' => 'example.com',
'secure' => true,
'httponly' => true,
'samesite' => 'Lax'
]);
Bu örnekte secure değeri true olduğu için çerez HTTP isteklerinde gönderilmez. Kod doğru olabilir; fakat sunucu trafiği HTTP kabul ediyorsa kullanıcı deneyimi bozulur.
Kalıcı çözüm için HTTP istekleri 301 yönlendirme ile HTTPS sürüme taşınmalıdır. Ancak yönlendirme zincirleri gereksiz uzunsa veya bazı alt dizinler bu kuralın dışında kalıyorsa problem devam edebilir. Özellikle CDN, yük dengeleyici veya ters proxy kullanılan yapılarda uygulama gerçek protokolü HTTP sanabilir.
Bu durumda sunucu başlıkları kontrol edilmelidir. X-Forwarded-Proto gibi başlıklar doğru iletilmiyorsa uygulama HTTPS arkasında çalışmasına rağmen kendisini HTTP ortamında zannedebilir. Böyle bir yapılandırma, oturum çerezlerinin tutarsız üretilmesine neden olur.
Secure bayrağını kapatmak kısa vadede oturum problemini gizleyebilir; ancak hassas çerezlerin açık bağlantıda taşınmasına yol açar. Bu nedenle kalıcı yaklaşım, sitenin tamamını HTTPS standardına taşımaktır. Kurumsal projelerde bu karar sadece yazılım ekibinin değil, altyapı ve güvenlik ekiplerinin de değerlendirmesi gereken bir konudur.
Eğer sorun belirli bir ortamda ortaya çıkıyorsa, test ve canlı ortam ayrımı da yapılmalıdır. Yerel geliştirme ortamında HTTPS yoksa ayrı yapılandırma kullanılabilir; canlı ortamda ise Secure cookie ayarı korunmalıdır. Bu ayrım, hem geliştiricinin rahat çalışmasını sağlar hem de üretim ortamında güvenlik seviyesini düşürmez.
Doğru yapılandırılmış bir hosting altyapısı, geçerli SSL sertifikası, tutarlı yönlendirme kuralları ve temiz uygulama ayarları birlikte çalıştığında Secure cookie beklenen şekilde davranır. Böylece kullanıcı oturumu korunur, yönetim paneli kararlı çalışır ve site güvenlikten ödün vermeden kesintisiz bir deneyim sunar.