Oldukça HTTP_REFERER daha GET yöntemi ile önceki sayfa konumunu aktarmak için güvenli midir?

5 Cevap

Ben kullanıcı (sitemde) gelen sayfa konumunu saklamak istiyorum. Ben bu örnek için bunu yapmak istiyorum: Birisi oturum olmadan bir yorum gönderdi söylemek "process_comment.php" bunu işleyecek ve göndermeden önce ben de filtre $ _GET Ben bir header(location:$_GET['prev_page']); Of ders göndermek o.

Bunun yerine bir oturumu kullanmalı mıyım?

Teşekkürler!

5 Cevap

Aslında tam olarak aynıdır. Her iki yöntem bilgileri kolayca sahte olabilir HTTP sorgu geçirilir ima. Yani gerçekten diğerinden daha yöntem daha güvenemeyiz.

Yani bir QueryString parametresi daha oluşturmak için biraz daha karmaşık, çünkü sürece gerçekten önemli bir şey için bu bilgilere güvenmeyin gibi, sen referer güvenilir olabilir itiraf edebilir, söyleniyor. Ortalama bir kullanıcı için en azından.

En iyi çözüm, önemli bir şey için bu bilgileri güven gerekirse, örneğin bir oturum değişkeni olarak, sunucu üzerinde saklamak olacaktır. Her sayfa, önceki değer neydi kontrol ettikten sonra, onun URL'sini saklamak istiyorsunuz.

Eğer $_SESSION kullanırsanız kullanıcı birden çok açık pencere / sekme bulunur ve aynı anda farklı şeyler yaparsa, sorun orada olacak. Sadece sitenin pencere var edememek daha rahatsız edici bir şey yoktur.

Bir OTURUM değişkenin değerini depolamak ve kısa bir anahtar ile bunu belirleyecektir olabilir. Bu anahtar GET dize gider. Bu şekilde, temiz URL'leri tutabilir, ve birçok sunucuları GET parametreleri için sahip 1.024 bayt sınırını isabet risk yok.

Peki, HTTP_REFERER bazı müşteriler tarafından dışarı çıkardı olabilir .. ben bazı Norton Internet güvenlik ürünleri muhtemelen diğerleri de yapmak, yaptım hatırlıyorum. Yani bir oturumda önceki sayfasını ayarlamak ve yönlendirme için bu kullanmak için daha güvenilir olacak.

Bunu kullanabilirsiniz eğer, oturum daha güvenli bir seçenektir. Geri almak ya da başlıklarına kullanıcıyı gönderme kurnaz insanlar muhtemelen muhtemelen kötü şeyler yapmak için kodunuzda herhangi bir kusurları kötüye sağlayacaktır.

Başlığı kendisi de bazı güvenlik duvarı yazılımı tarafından kaldırılmış olabilir.

Ben bu durumda GET kullanarak ile ilgili bir sorun olduğunu sanmıyorum. Her zaman tarayıcı yönlendirme almak mümkün olmasına bağlıdır olamaz.