setcookie() ve setrawcookie()
setcookie ile setrawcookie arasındaki fark nedir?
Görsel kullanarak cevaplayarabilirseniz harika olur.
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (2)
https://www.php.net/manual/tr/function.setrawcookie.php
setrawcookie()
işlevi, çerez değerini tarayıcıya gönderirken otomatik olarak URL kodlamasından geçirmemesi dışında setcookie()
işleviyle aynıdır.
Yani setcookie()
fonksiyonu çerez bilgilerini tarayıcıya gönderirken url encode yapar. setrawcookie()
fonksiyonu yapmaz. Aralarındaki tek fark bu.
Yani php.net öyle söylüyor.
Ben kodu https://onlinephp.io/ sitesinde denediğimde hata aldım. Hata dedi ki, setrawcookie()
fonksiyonunun 2.parametresinde (cookie değeri verilen parametrede) boşluk, virgül falan kullanamazsın!
Yani setrawcookie()
fonksiyonuna değer verilecekse önceden url encoding edilmiş bir değer verilmeli.
setcookie() ve setrawcookie() PHP fonksiyonları ile HTTP isteğine bir cookie ekleyebilirsiniz. Ancak, aralarındaki temel fark, cookie verilerinin nasıl saklandığıdır.
setcookie() fonksiyonu, eklenen cookie verilerini URL kodlama şeklinde saklar. Bu, özellikle verilerin içinde boşluk, süslü parantez gibi karakterler bulunuyorsa çok yararlıdır.
setrawcookie() fonksiyonu ise cookie verilerini kodlamadan doğrudan saklar. Bu, verilerin daha çok güvenli ve gizli tutulmasını sağlar ancak aynı zamanda cookie verilerinin içinde boşluk ve diğer zorlayıcı karakterler bulunuyorsa bu fonksiyonu kullanmak daha zordur.
Genel olarak, setcookie() fonksiyonu daha yaygın olarak kullanılır ve verilerin içinde zorlayıcı karakterler bulunmuyorsa daha uygun bir seçimdir. Ancak, gizli veriler için setrawcookie() daha güvenli bir seçimdir.
~~ChatGPT