SORU
19 Mart 2009, PERŞEMBE


Oturum açma/oturum çerezlerini, Ajax ve güvenlik

Kimlik doğrulaması için ajax tabanlı giriş formu için en güvenli yöntem belirlemeye ve istemci tarafı çerez hazırım. Bu gibi XSS saldırıları hakkında bir şeyler gördüm:

http://stackoverflow.com/questions/27972/are-httponly-cookies-a-viable-option-for-an-ajax-website

ve

http://www.codinghorror.com/blog/archives/001167.html

Yani, benim temel soru vardır sanırım

1) saf ajax kurabiye güvenli ayarlamak için kullanıyor, eğer öyleyse, en güvenli yöntem (httpOnly SSL şifrelenmiş değerleri, vb.) nedir?

2) saf ajax bir yöntem cookie client tarafında ayar gerektiriyor Mu? Bu güvenli mi?

3)/OSs kurabiyeleri bu şekilde tüm büyük tarayıcılarda güvenilir ayardır?

4) gizli bir İFrame kullanarak daha güvenli (çerez ayarlamak için bir web sayfası arama)?

5) mümkünse, bunun kimse için bir kod (PHP benim arka uç) var mı?

Amacım çerezleri ayarlamak ve onlara sayfadan dolaşmadan sunucuya bir sonraki çağrı için kullanılabilir.

Gerçekten, en güvenli bunu yapmak için uzlaşma yolu çivilemek istiyorum. Sonunda, bu kod Açık Kaynak yapılması planlanan, bu nedenle Ticaret Kanunu (veya kamu denetimi için ayağa olmaz hiçbir şey

Teşekkürler -Todd

CEVAP
19 Mart 2009, PERŞEMBE


  1. Çerez oturumu sunucuya istemci bağlar çünkü sunucu tarafında oluşturulan gerekir, ve bu nedenle token exchange belli bir aşamada istemci sunucudan gitmek gerekir. Gerçekten çerez istemci tarafı oluşturmak için yararlı, istemci, çünkü olmazgüvenilir olmayan bir uzak makine.

    Olası cookie AJAX arama sırasında için çok önemlidir. Sunucu (ağ) için bir AJAX çağrısı sadece bir HTTP çağrısı, sunucu tarafından herhangi bir HTTP yanıtı bir çerez ayarlayabilirsiniz. Yani evet, bir AJAX çağrısına yanıt oturumu başlatmak mümkündür ve çerez istemci tarafından normal olarak saklanır.

    Yani, AJAX aynı işlem günlüğü sayfada bir form gelen bir YAZI üzerine dayanıyordu olabilir gibi yapmak için kullanabilirsiniz. Sunucu onları aynı şekilde görecek, ve sunucu bir çerez ayarlar tarayıcı saklar.

    Temelde, bir istemci tarafı Javascript hiç ihtiyacı bilir değeri cookie (ve daha iyi güvenlik vermezse, hangi elde edilebilir kullanarak "httponly" kurabiye uzantısı Onur tarafından son tarayıcılar). Not daha fazla HTTP çağrıları istemciye sunucu, olsun onlar normal sayfa istekleri ya da AJAX istekleri, içerecektir cookie otomatik olarak, olsa bile işaretli httponly ve tarayıcı onur uzantısı. Script 'farkında' çerez. gerekmez

    Bahsettiğiniz kullanarak HTTPS (HTTP üzerinden SSL) - bu engeller diğerlerinden olmaktan okuyabilir bilgi transit veya taklit sunucu, bu yüzden çok kullanışlı önlemek için düz metin aktarma şifre veya diğer önemli bilgiler. Ayrıca yardım görevlisi karşı ağ tabanlı saldırılar, ama anlamına gelmez bağışıklık için her şeyi CSRF can atmak, ve hiç karşı korumak senin gibilerden oturum tespiti veya XSS. Eğer bunu kullanırsanız olarak HTTPS düşünme önlemek istiyorum-tamir:halasiteler arası komut dosyası çalıştırma ve siteler arası istek sahteciliği konusunda uyanık olmak lazım.

  2. (1'e bakınız. Ben de sanki onlarla birlikte)

  3. Çerez HTTP yanıt başlıklarını sunucu tarafından belirlenmiş olduğu göz önüne alındığında, Evet güvenilir. Ancak, bu çapraz tarayıcı uyumlu hale getirmek için hala giriş AJAX kullanılamaz olduğunda mümkün olduğundan emin olmanız gerekir. Bu Javascript yok sadece ya da eğer AJAX mevcut değil ise bile görülen bir alternatif uygulama gerektirebilir. (Not: AJAX için tarayıcı desteği hakkında endişelenmenize gerek yok 2014, şimdi artık).

  4. Güvenlik değiştirmek olmaz. Bunun için gereken, gizli iframe önce eskiden gördüğüm dışında olacağını 'taklit' AJAX önce - yani sunucuya asyncronous arama yapmak yoktur. Temelde, ancak, sunucu çerez ayarı, ve müşteri kabul edecek madde ve AJAX ile yapıyor olsun ya da olmasın çerezi geri gelmez.

Çoğunlukla, ister kullanın AJAX ya da değil etkilemez güvenlik o kadar tüm gerçek güvenlik olur sunucu tarafında, sunucuya bir AJAX çağrısı gibi olmayan bir AJAX çağrısı: güvenilmez. Bu nedenle ihtiyacınız olacak dikkat edilecek hususları gibi session fixation login CSRF gibi sorunları etkileyen oturumu olarak bir bütün gibi CSRF XSS kadar olduğu gibi kullanıyormuş hayır AJAX. Sorunlar gerçekten, sanırım dışında, eğer daha az aşina iseniz bir teknoloji ile daha fazla hata yapabilir, ya da daha karmaşık olması dışında AJAX kullanırken değişmez.

Cevap Eylül 2014 güncellendi

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • AutoHotkey Tutorials

    AutoHotkey T

    29 Mayıs 2010
  • Android Central

    Android Cent

    13 Kasım 2008
  • Jonathan Leack

    Jonathan Lea

    26 ŞUBAT 2007