PDA

View Full Version : سوال: به دست آوردن mimeType فایل آپلود



nadi_1368
چهارشنبه 29 آبان 1392, 10:33 صبح
با سلام

میخواستم mimeType فایل آپلود شده رو چک کنم...

چه جوری میتونم این کار را انجام دهم؟

یه اسکریپت پیدا کردم که از تابع finfo_open استفاده میکنه

اما این تابع در سرور نیست....

چه باید بکنم؟

با تشکر

mahmod2000
چهارشنبه 29 آبان 1392, 11:31 صبح
با این دستور میتونید فرمت فایل آپلود شده رو به دست بیارید


$_FILES['userfile']['type']


http://www.w3schools.com/php/php_file_upload.asp

nadi_1368
چهارشنبه 29 آبان 1392, 11:36 صبح
با تشکر

درسته با این دستور میشه اما مثلا فایلی مثل images.php.jpg نیز به عنوان عکس شناخته میشود

mahmod2000
چهارشنبه 29 آبان 1392, 13:54 عصر
اینی که شما میگید یه بحث دیگست
باید با دستورات شرطی چک کنید عزیز

این برای اینکه بتونن shell در هاست آپلود کنن از این فایل ها استفاده میکنند

smksmk
چهارشنبه 29 آبان 1392, 14:17 عصر
شما باید مسیر فایلهایی که آپلود میکنی مخفی باشه که حتی با آپلود شل هم طرف نفهمه شل کجاست تا اجراش کنه و همینطور نام فایلها هم باید برای آپلود الگوریتم خاصی داشته باشه که خودت بدونی . بعد هم شما لیست پسوندهای مجازت رو میزاری داخل یه آرایه و با همون کدی که دوستان در بالا گفتن پسوند فایل رو چک میکنی که اگه تو آرایه نبود اجازه آپلود نداره . چک کردنش هم با in_array یا یه حلقه کوچیک برای چک .
روشهای دیگه هم هست که مثلاً اگه فایلت تصویر نباشه و به طور مستقیم نیازی بهش نیست اول زیپ کنی و بعد آپلودش کنی .

این هم که شما نگرانی با پسوندهای دیگه آپلود کنن ، شما لیست سیاه نداری که بگی php و چی و چی آپلود نشه بعد طرف بیاد پسوند php5 آپلود کنه ، شما اصطلاحاً یه لیست سفید داری که فقط اونایی که میخای آپلود میشه یعنی jpg , png , gif, jpeg پس جای نگرانی نیست .