PDA

View Full Version : کد آپلود همه نوع فایل به جز php



HASAN604
چهارشنبه 23 مرداد 1392, 19:23 عصر
سلام
کسی میدونه چجوری میتونیم همه نوع فایل( یا حداقل پسوندهای رایج فایل ها) رو به جز php که میگن از نظر امنیتی مشکل داره آپلود کنیم
با تشکر

colors
چهارشنبه 23 مرداد 1392, 19:24 عصر
چک ببین اگه فرمت فایل PHP بود اجازه نده, در غیر این صورت آپلود کن

HASAN604
چهارشنبه 23 مرداد 1392, 19:39 عصر
چک ببین اگه فرمت فایل PHP بود اجازه نده, در غیر این صورت آپلود کن
اونطوری پسوند php رو مثلا html یا jpg میکنه و آپلود میکنه. میخوام اصل فایل رو چک کنه
مثلا

"application/x-gzip-compressed" => ".tar.gz, .tgz",
"application/x-zip-compressed" => ".zip",
"application/x-tar" => ".tar",
"text/plain" => ".html, .php, .txt, .inc (etc)",
"image/bmp" => ".bmp, .ico",
"image/gif" => ".gif",
"image/pjpeg" => ".jpg, .jpeg",
"image/jpeg" => ".jpg, .jpeg",
"application/x-shockwave-flash" => ".swf",
"application/msword" => ".doc",
"application/vnd.ms-excel" => ".xls",
"application/octet-stream" => ".exe, .fla (etc)"

colors
چهارشنبه 23 مرداد 1392, 19:49 عصر
اونطوری پسوند php رو مثلا html یا jpg میکنه و آپلود میکنه. میخوام اصل فایل رو چک کنه
مثلا

"application/x-gzip-compressed" => ".tar.gz, .tgz",
"application/x-zip-compressed" => ".zip",
"application/x-tar" => ".tar",
"text/plain" => ".html, .php, .txt, .inc (etc)",
"image/bmp" => ".bmp, .ico",
"image/gif" => ".gif",
"image/pjpeg" => ".jpg, .jpeg",
"image/jpeg" => ".jpg, .jpeg",
"application/x-shockwave-flash" => ".swf",
"application/msword" => ".doc",
"application/vnd.ms-excel" => ".xls",
"application/octet-stream" => ".exe, .fla (etc)"

منظورم از فرمت این نبود که فقط پسوندشو در بیاری! درستو حسابی چک کن ببین فایل از چه نوع و و دارای چه محتویاتیه!

HASAN604
چهارشنبه 23 مرداد 1392, 20:00 عصر
این نوشته ها رو کجا پیدا کنم؟؟
مثلا pdf rar و ...
مرجعی داره ؟

HASAN604
چهارشنبه 23 مرداد 1392, 20:04 عصر
گرفتم چیکار کنم. مرسی
فقط مشکل امنیتی دیگه ای نداره این ؟؟


<?php
//$allowedExts = array("gif", "jpeg", "jpg", "png");
$temp = explode(".", $_FILES["file"]["name"]);
$extension = end($temp);
if ((($_FILES["file"]["type"] !== "text/plain"))

&& ($_FILES["file"]["size"] < 300000))
{
if ($_FILES["file"]["error"] > 0)
{
echo "Return Code: " . $_FILES["file"]["error"] . "<br>";
}
else
{
echo "Upload: " . $_FILES["file"]["name"] . "<br>";
echo "Type: " . $_FILES["file"]["type"] . "<br>";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br>";

if (file_exists("wex/up/" . $_FILES["file"]["name"]))
{
echo $_FILES["file"]["name"] . " already exists. ";
}
else
{
move_uploaded_file($_FILES["file"]["tmp_name"],
"wex/up/" . $_FILES["file"]["name"]);
echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
}
}
}
else
{
echo "Invalid file";
}
?>

colors
چهارشنبه 23 مرداد 1392, 20:33 عصر
به این راحتی هاهم نیست! یه سرچی بزنید.
اگه فقط میخواید تصاویر آپلود کنید بهتره بعد از این تمهیدات تصاویر موجود رو از توابع GD عبور بدین تا خیالتون راحت بشه!

ببین اینم (http://barnamenevis.org/showthread.php?336445-%D9%81%D9%87%D8%B1%D8%B3%D8%AA-%DA%A9%D8%A7%D9%85%D9%84-MIME-Type-%D9%87%D8%A7-%D8%AC%D9%87%D8%AA-%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%D8%AF%D8%B1-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C) لیست کامل MIME-TYPE هاست.

AliRezaPro
چهارشنبه 23 مرداد 1392, 22:09 عصر
اگر به فکر یک سایت بزرگ آپلود عکس هستید این قسمت کدتون رو تجدید نظر کنید :

if (file_exists("wex/up/" . $_FILES["file"]["name"]))
{
echo $_FILES["file"]["name"] . " already exists. ";
}
توجه به پست 7 هم بسیار پیشنهاد میشه

HASAN604
پنج شنبه 24 مرداد 1392, 07:30 صبح
اگر به فکر یک سایت بزرگ آپلود عکس هستید این قسمت کدتون رو تجدید نظر کنید :

if (file_exists("wex/up/" . $_FILES["file"]["name"]))
{
echo $_FILES["file"]["name"] . " already exists. ";
}
توجه به پست 7 هم بسیار پیشنهاد میشه


به این راحتی هاهم نیست! یه سرچی بزنید.
اگه فقط میخواید تصاویر آپلود کنید بهتره بعد از این تمهیدات تصاویر موجود رو از توابع GD عبور بدین تا خیالتون راحت بشه!

ببین اینم (http://barnamenevis.org/showthread.php?336445-%D9%81%D9%87%D8%B1%D8%B3%D8%AA-%DA%A9%D8%A7%D9%85%D9%84-MIME-Type-%D9%87%D8%A7-%D8%AC%D9%87%D8%AA-%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%D8%AF%D8%B1-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C) لیست کامل MIME-TYPE هاست.

سایت آپلود نمیخوام بزنم. یک سایتی هست که اطلاعات دیتابیسش خیلی مهمه و کاربرها نیاز به آپلود فایل دارند تو یک بخشی....

AliRezaPro
پنج شنبه 24 مرداد 1392, 08:29 صبح
سایت آپلود نمیخوام بزنم. یک سایتی هست که اطلاعات دیتابیسش خیلی مهمه و کاربرها نیاز به آپلود فایل دارند تو یک بخشی....

پس مشکلی نداره
ببینید :

http://dk.php.net/manual/en/function.mime-content-type.php