مرجع تخصصی برنامه نویسان

بزرگترین انجمن برنامه نویسان فارسی زبان

بررسی امن بودن فایل ویدیویی آپلود شده

پنج شنبه, 19 اردیبهشت 1398 00:07

بررسی امن بودن فایل ویدیویی آپلود شده

سلام چجوری میشه بررسی کرد که یک فایل ویدیویی که کاربر بارگذاری کرده ویدیو هست

کلا گشتم چیزی پیدا نکردن

مثلا برای عکس داریم

 System.Drawing.Image.FromStream(image.OpenReadStream());

یه همچین چیزی میخوام

شنبه, 21 اردیبهشت 1398 11:00

سلام.شما باید MimeType فایل رو بخونید.

یکشنبه, 22 اردیبهشت 1398 00:21

این برای سرور هست

ولی من میخوام زمان آپلود اونو بررسی کنم

یکشنبه, 22 اردیبهشت 1398 08:27

سلام

دوست من MimType هیچ کمکی نمی‌تونه بکنه و به راحتی قابل تعویض هستش! در حدی که من توی همین سایت همین سوال رو مطرح کردم و با شنیدن چنین پاسخی اقدام به آپلود یه فایل غیر zip کردم!!! که خب به راحتی می‌تونست بدافزار باشه و بوووووم.

استفاده از آنتی ویروس هم هنگام دریافت فایل بسیار پرهزینه هست که به هییییییییییییییییییییییچ عنوان توصیه نمیکنم! مگه اینکه مثل گوگل بخواین مشتری رو هم از بابت اینکه فایل مشکل امنیتی نداره راضی کنین، که در اکثر مواقع مهم نیست.

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

خب برای اینکه تشخیص بدی ویدئو هست یا نه که بهتره از همون Content Type فایل فرمتش رو بخونی و خودت رو توی دردسر نندازی.

اما برای اینکه امنیت سرور خودت رو تضمین کنی موقع دریافت فایل اون رو Zip‌ کن (نوعی ایزوله کردن) و در فایل سیستم سرورت نگهداری کن و مخور غم جهان گذران!

موفق باشی.

یکشنبه, 22 اردیبهشت 1398 13:55

ممنون

فایل فرمت که به راحتی قابل تغییر هست؟

من اگه بخوام اونو با zip ذخیره کنم

موقع نمایش چجوری باید نمایش بدم؟؟؟؟

یکشنبه, 22 اردیبهشت 1398 17:06

من گفتم Content Type یک فایل قابل تغییر هست که اونم یه Property ساده HTTP Header هستش و بعضا با همون File Extention پر میشه، اما همونطور که File Extention به راحتی قابل تغییر هستش Content Type هم قابل تغییر. شما با Content Type فقط بررسی کن که فایل ویدئو هست یا نه دیگه به این کار نداشته باش که فایل حتما ویدئو بوده یا شامل ویروس یا Content Type رو هکر مخصوصا تغییر داده و...

با zip کردنش اون رو ایزوله کن و تمام.

شما موقعی که فایل آپلود میشه zip میکنیش رو روی سرور ذخیره می‌کنی و زمانی که کسی بخواد اون رو دانلود کنه unzip شدش رو آماده دانلود می‌کنی. (کاربر قاعدتا نباید فایل زیپ ارسال کرده باشه چون از فایل با پسوند‌های ویدئو رایج رو ازش می‌خوای.)

البته یه نکته‌ای هست که باید دقت کنی.

دانلود و آپلود فایل‌‌ها با مکانیزم Streaming انجام میشه و مثلا اگه یه فایلی ۱۰ گیگ بود قاعدتا نباید کلش توی رم باشه تا zip کنی یا unzip کنی! یه سری روش‌ها هست که Stream رو zip ویا unzip می‌کنن که یه جستجو بزن که ببینی با فریم ورکی که داری کار می‌کنی چطوری میشه اینکار رو انجام داد.

ارسال پاسخ برای این تاپیک

ارسال پاسخ مخصوص اعضا سایت می باشد ! میتوانید با حساب کاربری خود وارد سایت شده یا ثبت نام کنید