PHP, RFI ve güvenli tutmak şeyler

1 Cevap php

Ben iyi bir kullanıcı bir web sitesi alan adı girişleri, http://www.mysite.com bir web sitesi üzerinde çalışıyorum.

But I have been reading about remote file inclusion (RFI), and it is pretty interesting. Simply by adding ?page=http://www.mysite.com/index.php? or something near that I get some type of error (500). Other peoples sites using wordpress/ PHP if I do the same I also get an error.

Bu komut çalıştırıldığı anlamına olmadığını bilmiyorum, ama nasıl benim giriş temiz tutabilirsiniz? Zaten regex kullanmak, ama ben kullanıcı herhangi bir web sitesi girişi mümkün olacak ve buna göre işlemek istiyorum. Ben kesinlikle herhangi bir yerde benim komut önemli güvenlik açıklarını istemiyorum.

Burada Boston'da East Coast iyi gece [EST]

1 Cevap

HTTP 500 hata mod_security, Apache için bir modül, üreten şey gibi sesler görüyoruz. mod_security muhtemelen RFI denetliyor biri güvenlik kuralları, bir dizi karşı tüm giriş tarar. Bu ilk savunma hattıdır.

RFI karşı korumak için yapabileceğiniz birkaç şey var. İlk olarak, PHP 5.2.0 'dan beri, orada adı verilen bir seçenektir allow_url_include. False olarak ayarlandığında, bu dosya bu bir URL dahil ediliyor her PHP bir hata atmak için neden olacaktır. Çoğu insan bu ayarı false olarak ayarlanmış olması isteyecektir.

Ayrıca, giriş sterilize var. Orada gerçekten regex kullanarak gibi, bunu yapmak için çeşitli yollar var, ama aynı zamanda filter extension bakmak olabilir. Sadece yeterince sıkı olması için emin olun, size birisi bir ../../ gizlice ve dosya hiyerarşisinde bir düzey ya da iki daha yüksek bir göz olması için izin istemem.

Güvenlik dosya erişimi için güvenli, ama bazen de çok pratik, yol dahil olmak üzere izin verilecek kesin dosyaların bir beyaz liste kullanmak olacaktır.