Hocam, açıklayıcı konu için teşekkürler. Birkaç ek:
Dosya yolu kullanılacaksa realpath() ile çözümlenen yolun izin verilen dizinin içinde kaldığı doğrulanmalı; yalnız basename() kullanmak tek başına yeterli bir güvenlik sınırı sayılmamalı.
PHP yapılandırmasında allow_url_include=Off olması, LFI'nin uzaktan dosya dahil etmeye (RFI) genişlemesi riskini azaltır. open_basedir de PHP'nin erişebileceği dizinleri daraltan ek bir katmandır.
Tarihsel olarak PHP 5.3.4 öncesinde null byte ile sona eklenen uzantı kesilebildiği için ".php eklemek yeterli değil" uyarısı bugün de geçerli bir alışkanlık. Ayrıca log veya oturum dosyalarının include edilebilmesi, LFI'yi kod çalıştırma riskine dönüştürebilir; bu yüzden bu dosyaların web kullanıcısı tarafından okunabilir olmaması da önemli.