Why bother?
Ben hassas veriler için bu tekniği kullanmak olmaz. Bu olsa düzenli bir oturumda birlikte yararlı olabilir - istemci normal oturum kimliği ile bir çerez vermek değil, aynı zamanda uygulama her sayfada ihtiyacı olan tüm bu anahtar / değer çiftlerini içerebilir. Bu şekilde, her sayfa isteği için oturum depolama isabet önleyebilirsiniz.
Bunu her isteği ile gönderilecektir beri oldukça sıkı veri miktarını tutmak için hedeflemelidir.
Aklınızda ile, itibaren ...
Signing data with a hash
Veri duyarlı değilse, size anahtar / değer çiftleri ve paylaşılan bir sır bir arada yapılmış sha1 karma ile değerlerini oturum açabilirsiniz. örneğin
$values=array(
'user_id'=>1,
'foo'=>'bar'
);
$secret='MySecretSalt';
$plain="";
foreach($values as $key=>$value)
{
$plain.=$key.'|'.$value.'|';
}
$plain.=$secret;
$hash=sha1($plain);
Şimdi tüm değerleri ve karma ile istemci bir çerez verir. Cookie sunulduğunda Sen karma kontrol edebilirsiniz. Eğer müşteri tarafından sunulan değerleri hesaplamak karma beklenen karma uymuyorsa, siz değerleri tahrif edilmiştir biliyorum.
Encrypting sensitive data
Hassas veriler için, değerleri şifrelemek gerekir. Kriptografik fonksiyonları bir sürü sunuyor mcrypt uzantısını kontrol edin.
Cookie theft
Eğer bir tanımlama içine kullanıcı kimlik bilgilerini koyarak ve güvenen eğer çerez hırsızlığı ile ilgili olarak, daha sonra çerez parola kadar bu kullanıcıyı taklit edebilir ki edinir birisi değiştirilir. İyi bir uygulama, bir kullanıcının kimlik doğrulamasını nasıl hatırlıyorum, ve sadece e-posta adresi gibi kendi hesap bilgilerini değiştirmek değil kullanıcı açıkça Örneğin oturum eğer birisi yazı izin olabilecek bir forum için, belirli yetkileri vermek, ama etmektir.
Bu tür çerezleri sadece bir kez kullanılmasına izin bir belirteç değer veren içeren çerezleri "autologin" için başka teknikler vardır. Here's a good article bu tekniği.
Ayrıca imzalı bir çerez, istemci IP dahil bakmak olabilir ve çerez sunma IP eşleşmiyor ise, onları tekrar giriş olsun. Bu, daha fazla koruma sağlar, ama kimin belirgin bir IP adresi sürekli değişiyor insanlar için çalışmaz. Bunu isteğe bağlı bir özelliktir yapmak ve kullanıcı çıkmak için bir yol verebilir. Sadece bir boşta düşünce, ben pratikte yapılan görmedim :)
Böyle bir ek imza olarak User-Agent başlığını kullanarak denemek için birkaç teknikler sunuyor oturum hırsızlık, kaçırma ve tespit görmüyeli Sessions and Cookies açıklayan güzel bir yazı için.