Çerez yolu özel karakterler

3 Cevap php

Benim uygulama uygulamasında belirli yolları için çerezleri ayarlamak gerekiyor. (Php) Örneğin:

setcookie(*cookie_name*,*value*,*date*,"/subpath/subpath/unique_name");
setcookie(*cookie_name*,*value*,*date*,"/subpath/subpath/another unique name");

Işin garibi, ilk setcookie çalışıyor. İkinci bir hata oluşturmaz ve Firefox'ta benim çerezleri görüntülemek zaman çerez doğru değerlerle var. Ancak, benim kod erişemez. Ben whitespaces sorun yaratan inanıyorum ama ben çerez yolları kodlanmış nasıl olması gerektiği ile ilgili herhangi bir belge ya da gözlük bulamadı.

Herkes önce bu sorunla karşılaştı? Herkes çerez yolları özel karakterler ile nasıl başa çıkacağınızı biliyor mu?

3 Cevap

I see no problem with spaces in cookies.
Maybe you should check how you read back your value...
My read routine is:

function ReadCookie(name)
{
  name += '=';
  var parts = document.cookie.split(/;\s*/);
  for (var i = 0; i < parts.length; i++)
  {
    var part = parts[i];
    if (part.indexOf(name) == 0)
      return part.substring(name.length)
  }
  return null;
}

Açıkçası, kodlamak zorunda tek şey yarı-kolon olduğunu.

Bir web sunucusu atm erişim. Yok Eğer bunlardan birini hiç denemedim?

setcookie(*cookie_name*,*value*,*date*, "/subpath/subpath/another unique name/");
setcookie(*cookie_name*,*value*,*date*, urlencode("/subpath/subpath/another unique name"));
setcookie(*cookie_name*,*value*,*date*, rawurlencode("/subpath/subpath/another unique name"));

Ben farklı tarayıcılarda ve web sunucuları farklı bu tedavi olabilir inanıyorum. Ben url boşluk kullanmak zorunda kalmayız.

Ne işletim sistemi ve web sunucusu üzerinde çalışan?

Önerildiği gibi,% 20 veya şifreleyen boşluk + deneyebilirsiniz.

Ayrıca, gerçek bir dizin çalışıyoruz yolu, ya da bir yeniden yazma kuralı nedir?