Uzantısı .php
olmasa bile, PHP üzerinden bir dosya çalıştırmanın mümkün olduğunu fark ettim, örneğin test.xyz.php.whatever.zyx
dosyası, uzantı .php
olmasa bile PHP ile çalışabilir! Dosya adında sadece .php.
olması ve Apache'nin PHP betiğini çalıştırması yeterli oluyor. (Birisi önerdiği gibi) Yüklenen dosyanın herhangi bir sunucuda PHP ile çalıştırılmasını nasıl güvenli bir şekilde engellersiniz?
.htaccess
dosyada bu koymak için çalıştı:
php_flag engine off
Ama benim makinede işe yaramadı. Ben biliyorum
sadece çözümler şimdi şunlardır:
- isim ver
.txt
olarak, PHP ile böyle çalışmaz dosya uzantısı, bilinen. - Dosya ismindeki tüm noktaları kaldırın, böylece uzantılarını serbest bırakın.
Ancak bu çözümlerin diğer sunucularda Windows sunucumdan (Apache ile) nasıl çalışacağından hala emin değilim.
Herhangi bir şekilde yeniden adlandırılacak dosya adlarına ihtiyaç duymayan başka çözümler var mı?
güvenlik açısından önerilir. Ayrıca, http://stackoverflow.com/questions/3499173/my-php-site-was-hacked-by-codes-uploaded-as-image adresini de kontrol edin. Neden php.ini dosyanıza belirli komutları da eklemelisiniz? – SeanC
@ SeanCheshire, bahşiş için teşekkürler. şimdi anlattığım bulgularla birleştirirsem, bahse girerim çok daha fazla site bununla hacklenebilir olur. (kendimi de test etmek için çok tembel, aynı zamanda, yasadışı;). – Rookie
her zaman yasalara aykırı değil: http://www.hackthissite.org/ – SeanC