2016-03-23 12 views
0

Eski başvuru formumu CSRF'yi korumak için OWASAP mekanizmasını kullanmayı denedim, ancak gezinme ve geri düğmesiyle ilgili sorunlarım var. Daha sonra struts-1 jeton mekanizmasını kullanmayı denedim ama aynı sorunla karşı karşıya kaldım. Jeton enjeksiyon mekanizması ile düşündüğüm problem başlangıçta jsp'de bir jeton oluşturacağız ve oturumda saklayacağız ve bir miktar eylem gerçekleştireceğiz.Tarayıcılar Geri düğmesi CSRF Önleme Mechanisam ile sorunlar

A.Asp. jsp'de jeton değeri 1'i alalım ve aynı seansta saklayacağız. Şimdi bunu filtre/Eylem sınıfında doğrulayacağız. Bundan sonra, B.jsp'de başka bir işlem yapacağız ve jsp ve oturumda yeni 2 değerini belirleyeceğiz. Doğrulama formu sunucusundan sonra, oturumda 2. değere sahip olacağız. Şimdi tarayıcıların geri düğmesini kullanarak gezinir ve sayfa 1'e gidip gönderirsek, değerleri önbellekten yükler ve A.jsp değeri 1 değerini simge olarak gösterir, Bu noktada A.jsp'yi gönderdikten sonra CSRF hatası, oturumdaki değerle çelişiyor.

Uygulamayı gerçekten rahatsız etmeden CSRF önleme mekanizmasının uygulanmasının bir yolu var mı?

cevap

0

Sorununuzu doğru bir şekilde anladıysam, geri düğmesine basıldığında, önbellekten eski belirteçle sayfa alırsınız? Eğer doğruysa, o zaman bu problemi çözmenin kolay bir yolu vardır - sayfalarınızı önbelleğe almayın ve sunucudan her zaman yükleyin.

O şu cevabı başlıklarını

Cache-Control: max-age=0, no-cache, must-revalidate 

Diğer, daha zor yol ayarlayarak elde edilebilir, tek sayfa uygulaması gerçekleştirmek için bu durumda her zaman tarayıcı belleğinde gerçek belirteci gerekecek olduğunu.

+0

Yanıt üstbilgilerini kullanarak uygulamaya çalıştım. Bu, akışı kırdığı için yardımcı olmadı. Eski uygulamalara SPA uygulamak, şu an sahip olmadığım çok fazla zamana ihtiyaç duyuyor. Web uygulamasını CSRF'den işlevselliği ödün vermeden korumak için başka bir yol var mı? – Girish

+0

Sitenizi CSRF'den korumak için güvenlik belirteci yolu yoktur. Tek kullanım için değil, ancak yardımcı olması için bir süre makul bir süre için belirtebilir ve belirtebilirsiniz. –

+1

Yönlendirici üstbilgisini veya başka bir yöntemi, özel üstbilgiyi Action sınıfında ayarlayacağımız özel bir üstbilgiyi kullanarak ve jsp'ye aktardıktan sonra ne kadar iyi olduğunu, javascript ile yanıt üstbilgisinde aynı değeri ayarlayacağız ve sunucudaki değerleri karşılaştıralım. aynısı. Bu Çerez-Başlık Token yöntemi ne kadar güvenli? – Girish

İlgili konular