|
Bir arkadaş için küçük bir download betiği hazırladım.
Belirtilen dizin icindeki dosyaları indirmek için ufak bir betik. Çok basit bir referer kontrolü yapıyor ve indirilen dosyanin tam adresini göstermiyor. Kod aşağıda.
<?
/*
-- Download betiği --
Osman Yüksel - 28 Mayıs 2005
[email protected]
*/
$dosya=$_GET['dosya']; //dosya adıni al
$site="sonsuzdongu.com"; //senin sitenin adi veya icinde gececek ozel bir kelime
$indirilecek_dizin="download/"; //dosyalar nereden indirilecek
$referer=$_SERVER['HTTP_REFERER']; //hangi sayfadan gelmis
$path=$indirilecek_dizin.$dosya; //dosyanin tam yolu
if ($dosya) { //dosya indirme istegi geldiyse
if (preg_match("/$site/",$referer)) { //eger $site degiskeni $referer'ın icinde varsa
if(file_exists($path)) { //eger dosya varsa
$content_type=mime_content_type($path); //dosyanin content_type'ını al
//burada indirme islemi baslior
header( "Content-type: $content_type" );
header("Content-Disposition: attachment; filename=$dosya");
header("Content-Length: ".filesize($path));
readfile($path);
} #if file_exists
else {
echo "Aradığınız dosya bulunamadı"; //eger $indirilecek_dizin icinde $dosya diye bir dosya yoksa
} #else
} #if preg_match
else{
echo "Bu dosyaya dogrudan erişemezsiniz !"; //eger $site degiskeni $referer'ın icinde yoksa
} #else
} # if $dosya
else{
//eger $dosya degiskeni yoksa $download icindeki dosyalari listele
$klasor = @opendir($indirilecek_dizin);
while ($dosya = readdir($klasor)) {
if($dosya == "." || $dosya == ".." || $dosya == "index.php" || $dosya == "index.html")
// .. , . ve index.php listelenmesin
continue;
echo "<a href="?dosya=$dosya">$dosya</a><br>"; //bulduklarini ?dosya degiskeni olarak gonder
} #while
closedir($klasor); //erisimi kapat
} #else
?>
|
|
28.Mayıs.2005 Cumartesi
:: 13:21:41 |
59760 kere okundu |
|
|
Takvim |
|
|
< Kasım 2024 > |
P | S | Ç | P | C | Ct | Pz |
| | | | 1 | 2 | 3 |
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 |
|
|
|
|
|
|