السلام عليكم
<FONT style="BACKGROUND-COLOR: #f2f9ff">اللي اعرفه بهالسكربت انه يحتوي على ثغره انك تقدر ترفع صورة غير حقيقيه ,
حاول تقرأ عن دالة إحضار حجم الصورة ثم قم بالتحقق getimagesize
هذه صفحة لرفع الملفات فيها هذا النوع من التحقق , قم بإستخلاص الكود منها :
كود PHP:
<LINK REL="STYLESHEET" TYPE="text/css" HREF="style/css/style.css">
<?
include ('include/config.php');
include ('include/check.php');
?>
<html dir="rtl">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1256">
<meta http-equiv="Content-Language" content="ar-sa">
<title><? print"$sitename"; ?></title>
</head>
<body>
<div align="center">
<?
include ('style/tamplate/header.htm');
print " <BR>";
/*
* MySimpleFileUploader.
* By : FF5006.
* faha1ad2@hotmail.com
* Thunk you elMASry
* شكر خاص للأخ elMASry
*/
//هنا اسطر اعدة تسمة الملف
$file_name = $HTTP_POST_FILES['fileup']['name'];
$fileup = $HTTP_POST_FILES['fileup']['tmp_name'];
$random_digit=rand(0000,9999);
$new_file_name=$random_digit.$file_name;
// نهاية اعادة تسمية الملف
// اسم المجلد الذي تريد تحميل الملفات اليه
// فقط قم بتغيير up_down
$path= "up_down/".$new_file_name;
if($fileup == ""){
include ('style/tamplate/empty.htm');
}else{
$att = strtolower(strrchr($file_name,'.'));
$file_size = filesize($fileup);
if(! in_array($att,$alemtdadat)){
include ('style/tamplate/alemtdadat.htm');
}else if($file_size > $maxsize ){
include ('style/tamplate/big-size.htm');
}else{
$CopyFile = move_uploaded_file($fileup,"$path");
if($CopyFile)
{
$images_exs = array(".jpg",".jpeg",".gif",".png",".bmp");
if ( in_array($att,$images_exs) )
{
$image = @getimagesize($path);
if(!stristr($image['mime'],'image'))
{
$delete = @unlink($path);
if($delete)
{
include('style/tamplate/wrong-image.htm');
}
}
}
else
{
include ('style/tamplate/file-was-upload.htm');
}
}
else
{
include ('style/tamplate/file-was-not-upload.htm');
}
}
}
print " <BR>";
print " <BR>";
print " <BR>";
include ('style/tamplate/footer.htm');
?>
</div>
</body>
</html>
إن شاء الله يفيدك : ) .