PHP ile url gizleme ve engelleme
Sorum şu:
PHP ile yaptığım basit ftp sisteminde dosya düzenleme işlemi yapıyorum. Ama bir noktada takıldım ve yapamadım.
Düzenleme yaparken url'e şu şekilde çıkıyor:
http://localhost/ftp3.php?id=../../../../home/sv/port27/sv1/config.cfg
Buradaki ../../../../home kısını istediğim gibi değiştirip, sistemin diğer dosyalarında erişebiliyorum. Bunu nasıl engelleyebilirim.
Örneğin:
http://localhost/ftp3.php?id=../../../../etc/php.ini
Birde bunu url'e kısmını daha farklı nasıl yapabilirim.
Bu konuda bana yardımcı olabilecek arkadaşların yardımlarını bekliyorum
Email: [email protected]
Teşekkür ederim.
@tayfunerbilen
sen bi base path belirleyeceksin. Örneğin;
$path = 'var/www/html';
$url = $path . '/' . str_replace('..', null, $_GET['url']);
echo $url;
çağırırkende şöyle çağıracaksın;
http://siteadi.com/?url=app/init.php
böylece şu şekilde denese bile çalışmayacak;
http://siteadi.com/?url=../../app/init.php