سلام چجوری میشه بررسی کرد که یک فایل ویدیویی که کاربر بارگذاری کرده ویدیو هست
کلا گشتم چیزی پیدا نکردن
مثلا برای عکس داریم
System.Drawing.Image.FromStream(image.OpenReadStream());
یه همچین چیزی میخوام
سلام.شما باید MimeType فایل رو بخونید.
این برای سرور هست
ولی من میخوام زمان آپلود اونو بررسی کنم
سلام
دوست من MimType هیچ کمکی نمیتونه بکنه و به راحتی قابل تعویض هستش! در حدی که من توی همین سایت همین سوال رو مطرح کردم و با شنیدن چنین پاسخی اقدام به آپلود یه فایل غیر zip کردم!!! که خب به راحتی میتونست بدافزار باشه و بوووووم.
استفاده از آنتی ویروس هم هنگام دریافت فایل بسیار پرهزینه هست که به هییییییییییییییییییییییچ عنوان توصیه نمیکنم! مگه اینکه مثل گوگل بخواین مشتری رو هم از بابت اینکه فایل مشکل امنیتی نداره راضی کنین، که در اکثر مواقع مهم نیست.
راهش اینه شما فایلی رو که میخونی ایزوله کنی تا به سرور خودت آسیب نزنه.
خب برای اینکه تشخیص بدی ویدئو هست یا نه که بهتره از همون Content Type فایل فرمتش رو بخونی و خودت رو توی دردسر نندازی.
اما برای اینکه امنیت سرور خودت رو تضمین کنی موقع دریافت فایل اون رو Zip کن (نوعی ایزوله کردن) و در فایل سیستم سرورت نگهداری کن و مخور غم جهان گذران!
موفق باشی.
ممنون
فایل فرمت که به راحتی قابل تغییر هست؟
من اگه بخوام اونو با zip ذخیره کنم
موقع نمایش چجوری باید نمایش بدم؟؟؟؟
من گفتم Content Type یک فایل قابل تغییر هست که اونم یه Property ساده HTTP Header هستش و بعضا با همون File Extention پر میشه، اما همونطور که File Extention به راحتی قابل تغییر هستش Content Type هم قابل تغییر. شما با Content Type فقط بررسی کن که فایل ویدئو هست یا نه دیگه به این کار نداشته باش که فایل حتما ویدئو بوده یا شامل ویروس یا Content Type رو هکر مخصوصا تغییر داده و...
با zip کردنش اون رو ایزوله کن و تمام.
شما موقعی که فایل آپلود میشه zip میکنیش رو روی سرور ذخیره میکنی و زمانی که کسی بخواد اون رو دانلود کنه unzip شدش رو آماده دانلود میکنی. (کاربر قاعدتا نباید فایل زیپ ارسال کرده باشه چون از فایل با پسوندهای ویدئو رایج رو ازش میخوای.)
البته یه نکتهای هست که باید دقت کنی.
دانلود و آپلود فایلها با مکانیزم Streaming انجام میشه و مثلا اگه یه فایلی ۱۰ گیگ بود قاعدتا نباید کلش توی رم باشه تا zip کنی یا unzip کنی! یه سری روشها هست که Stream رو zip ویا unzip میکنن که یه جستجو بزن که ببینی با فریم ورکی که داری کار میکنی چطوری میشه اینکار رو انجام داد.
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)