لقد قمت بتنفيذ فكرة اعتقد انها ترفع الحماية بشكل كبير في مراكز التحميل
وهي:
وضعت مجلد الرفع تحت public_html
ورفعت الملفات عليه
ثم قمت باعداد صفحة التحميل بحيث تجلب الملف من مجلد الرفع
وتجبر الزائر على تحميله (عن طريق الهيدر)
الفائدة:
لا يمكن طلب الملف عن طريق ال http وذلك لأن الملف تحت ال public_html
وبالتالي لا توجد طريقة لتشغيل الملفات الخبيثة على الموقع
الكود:
كود PHP:
<?php
$file= "/upload/".$_GET['name'];
$name = $_GET['name'];
if (!empty($name)){
switch(strtolower(substr(strrchr($name,'.'),1)))
{
case 'pdf': $mime = 'application/pdf'; break;
case 'zip': $mime = 'application/zip'; break;
case 'jpeg':
case 'jpg': $mime = 'image/jpg'; break;
default: $mime = 'application/force-download';
}
header('(anti-spam-(anti-spam-(anti-spam-(anti-spam-content-type:)))) '.$mime);
header('Content-Disposition: attachment; filename="'.$name.'"');
readfile($file);
}else
echo "no file to download!";
?>
ما رأيكم بهذه الطريقة، وهل تنجح في حماية مركز التحميل ؟
ام ان هناك امور اخرى لم انتبه لها
(غير طلب الملف عن طريق اسمه لإني سوف اغيرها لقاعدة بيانات)