Google Çerez ve Oturum Sorunları (SameSite Problemi Nedir?)
PHP Dersleri ile kodlamaya adım atın.
Google kendi bünyesinde yapmış olduğu tarayıcı ve uygulamalar ile sürekli gelişen ve bu gelişmeler sonucunda oluşan hataları gidermek ve güvenliği artırmak amaçlı çalışmalarda bulunmaktadır. Bu çalışmaları kendi kaynaklarında iletirken rakip firmaların oluşturduğu benzer uygulamalar da aynı yapıyı referans alarak kendilerini güncellemekte ve geliştirmektedir.
Google’nin Ağustos 2020 tarihinde yapmış olduğu geliştirme ve kısıtlamalar tarayıcı uygulaması olan Google chrome üzerinde olmuştur. Tarayıcıda daha önce oluşturulan session (oturum) ve cookie (çerez) işlemlerinde yapmış olduğu güncellemede samesite yapısı altında güvenlik amaçlı kısıtlamalar getirmiştir. Php tabanlı geliştirmelerde web sitesi sadece kendi sayfası içerisinde Post ve Request (isteği) yaptığında ilgili session ve çerezlere erişim hakkı sağlarken dış kaynaklı bir datanın ilgili sayfaya Post veya Request yapması sonucu session(oturum) sona erdirilirken tarayıcıda var olan çerezlere erişim hakkı vermemektedir. Tanımlamanın güvenli bir yapıya olup olmadığına bakarak aşağıdaki metotları kullanarak bir irdeleme yapar. Bu da çoğu web sitesinin ve uygulamalarında hataya sebebiyet vermiştir. Ayrıca diğer tüm tarayıcılar da (Edge, Mozilla, Safari, Opera vs.) buna uygun şekilde alt yapılarını güncelleyeceklerini ve bir kısmının da güncellediğini belirtmiştir. Kullanıcı ve yazılım tarafında bu durum oldukça güç ve sadece tarayıcı firması tarafından çözüme kavuşması beklenmektedir. Ancak ben yapmış olduğum araştırmalarım sonucunda php tabanlı çalışmalarınızda htaccess dosyanız içerisinde aşağıda ileteceğim kodu dahil etmeniz durumunda oturum (session) değerlerini silmeyerek başarıyla kullanabileceğinizi belirtmek isterim. Yapmış olduğu çalışmalar ve araştırmalar sonucunda işlemin başarıyla çalıştığını söyleyebilir. Fakat Google kendi bünyesindeki güncellemelerde bu tür yapılara da kısıtlama getirirse daha alternatif ve çağ dışı yöntemlere başvuru yapılacağını ön görmek mümkündür.
Kod Bilgisi :
<ifmodule mod_headers.c>
Header always edit Set-Cookie ^(.*)$ $1;SameSite=None;Secure
</ifmodule>
Bu tür araştırmalarda ne yazık ki Türkçe dil destekli kaynak bulmak zor olduğu için araştırma yapmak isteyenler için İngilizce kaynaklardan yardım alabileceğini belirtmek isterim.
Saygılarımla.
Mehmet ULUS / Yazılım Uzm. - Kurucu