$ _GET ile sağlanır dosyalarını okuma

0 Cevap php

I $_GET, bu dosyayı okur ve bunun bir resmini oluşturur yoluyla göreli yol adı alır bir php komut dosyası var. Ben kullanıcı sunucudan herhangi bir dosyayı okumak mümkün olmak istemiyorum. Belirli bir dizinin sadece dosyalar komut otherwiese gerekir exit(), izin verilmelidir.

İşte benim klasör yapısı:

files/ <-- all files from this folder are public
my_stuff/ <-- this is the folder of my script that reads the files

Benim komut dosyası mydomain.com/my_stuff/script.php?pathname=files/some.jpg ile erişilir. Ne e izin verilmemelidir. g:. mydomain.com/my_stuff/script.php?pathname=files/../db_login.php

Yani, burada my_stuff klasöründe script ilgili kısmı:

...
$pathname = $_GET['pathname'];
$pathname = realpath('../' . $_GET['pathname']); 

if(strpos($pathname, '/files/') === false) exit('Error');
...

Ben bu yaklaşımı, benim için çok güvenli görünmüyor gerçekten emin değilim. Daha iyi bir fikri olan herkes?

0 Cevap