PHP yönlendirme kontrol edin

4 Cevap php

Kimin PHP web sitenize giriyor kontrol etmek mümkündür. Ben sadece kullanıcıların bazı özel web sitelerinden giren izin vermelidir (PHP ile yazılmış) bir web uygulaması var. O _Request nesnesini inceleyerek sevk web almak mümkün mü? Evetse, nasıl?

4 Cevap

Evet, ama bazı vekiller ve diğer şeyler bu bilgileri dışarı şerit akılda tutmak ve kolayca taklit edilebilir. Yani buna güvenmemelisiniz. Örneğin, kendi sunucusu maç için yönlendirme kontrol çünkü web uygulaması CSRF güvenli olduğunu sanmıyorum.

$referringSite = $_SERVER['HTTP_REFERER']; // is that spelt wrong in PHP ?

Eğer sadece belirli bir etki istekleri üst düzey etki almak için URL bazı ayrıştırmak gerekir izin vermek istiyorum. Ben daha çok öğrendiğim gibi, bu PHP'nin parse_url() ile yapılabilir.

andyk yorumların işaret ettiği gibi, siz de www.example.com ve example.com için izin vermek zorunda olacak.

Eğer atıfta sitesi almak için $_SERVER['HTTP_REFERER'] bakabilirsiniz olurken, üzerine çiftlik bahis yok. Tarayıcınız bu başlığı koyar ve kolayca sahte oluyor.

Bu belirli yönlendirmeleri gelen tek kişi sitenizi görüntülemek kritik varsa, bu yöntemi kullanmayın. Eğer içeriği korumak için temel kimlik doğrulama gibi başka bir yol, bulmak gerekecek. Ben sadece aptal geçirmez değil unutmayın, bu tekniği kullanmak gerektiğini söylemiyorum.

Btw, ayrıca apache düzeyde yönlendirmeleri engellemek using mod_rewrite. Olabilir

Eğer yönlendirme güven olamaz. $_SERVER diziden gelen rağmen, aslında bir kullanıcı / tarayıcı sağlanan değer ve kolayca Firefox RefControl addon gibi şeyler kullanarak, sahte edilir.

Sen 'HTTP_REFERER' anahtarı için $ _SERVER dizisi incelemek gerekir.