Çerez tabanlı web kimlik doğrulaması için en iyi uygulamalar nelerdir?


11

CGI ve Python kullanarak küçük bir yan proje üzerinde çalışıyorum (ölçeklenebilirlik bir sorun değildir ve ÇOK basit bir sistem olması gerekir.)

Tanımlama bilgilerini kullanarak kimlik doğrulaması uygulamayı düşünüyordum ve yerleşik en iyi uygulamalar olup olmadığını merak ediyordum.

Kullanıcı başarıyla kimlik doğruladığında, kimin oturum açtığını anlamak için çerezleri kullanmak istiyorum. En iyi uygulamalara göre, böyle bir çerezde ne saklanmalıdır?

Yanıtlar:


12

En iyi durum: İhtiyacınız olan diğer tüm bilgilerle ilgili olan ve buna karşılık bir veritabanında saklanan tek bir kimlik.

Oraya başka bilgiler koymanın mantıklı olduğu zamanlar vardır, ancak nadirdirler. Her zaman kendinize nedenini en az beş kez sormanız gerekir .

SSL, kullanıcılarınızı oturum kaçırmalarından koruyacaktır, ancak o zaman bile şifrelenmemiş hassas bilgileri hiçbir zaman bir çerezde saklamamaktadır. Esasen, sabit sürücüde düz metin olarak saklanır.

Son olarak ve en önemlisi, kullanıcılarınızı XSS ​​ve CSRF saldırılarına karşı koruyun .

XSS koruması, Javascript'i içerdiğiniz yerde dikkatli olmak kadar basittir, çünkü başka bir sunucudaki Javascript bilginiz olmadan değiştirilebilir ve bu Javascript çerez verilerine erişebilir. Dolayısıyla, jQuery betiğinize hizmet etmek için Evil Corp'un içerik dağıtım ağını kullanıyorsanız, aniden kullanıcılarınızın çerezlerini göndermek için kod ekleyebilirler. Sen bilemezsin; kullanıcılarınız bilemezdi.

Komut dosyalarını indirin ve kendi sunucunuzdan sunun veya Google veya Yahoo gibi çok güvenilir CDN'ler kullanın.

CSRF koruması genellikle formdaki gizli bir alanda rastgele bir değere sahip olarak yapılır. Form yeniden gönderildiğinde, aynı bilgisayardan geldiğini doğrulayabilmeniz için değer oturumda tutulur.

Çoğu web çerçevesi, bu belirteci eklemek için çok basit tekniklere sahiptir.


3
  • secureVe httpOnlybayraklarını kullanın .
  • Oturum çerezi verilerini kodlayın ve şifrelenmiş verileri bir MAC ile şifreli olarak imzalayın. Oturum çerezi verilerinin kodunu çözmek için uğraşmadan önce sunucudaki imzayı her seferinde kontrol edin. (Raylar bunu varsayılan olarak yapar.)
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.