ARON
2 سال پیش توسط ARON مطرح شد
2 پاسخ

باگ امنیتی در اپلود فایل لاراول

دوستان من تست کردم وقتی یه فایل png رو محتواش رو درستکاری کنیم و اپلود کنیم ولیدیشن لاراول تشخیص نمیده و فایل اپلود میشه. راه حلی برای این موضوع ندارید که نشه هیچ رقمه فایل غیر مجاز اپلودکرد؟


ثبت پرسش جدید
Arshiamohammadei
تخصص : وب و هوش مصنوعی
@Arshiamohammadei 2 سال پیش مطرح شد
0

سلام دوست من
ولیدیشن لاراول همیشه یه چیزهای توی خودش داره که همه رو غافل گیر میکنه بله وقتی فایل دستکاری میشه ولیدیشن تشخیص نمیده ولی میتونید ولیدیشن رو یه جور دیگه تنظیم کنید
برای اینکه بتوانید فایل‌هایی را که نامناسب هستند، مثل فایل‌های حاوی محتوای درستکاری شده، شناسایی کنید، می توانید از امکانات validation فرم‌ها در Laravel استفاده کنید.

برای استفاده از validation فرم در Laravel، شما باید یک validation rule برای فرم خود تعریف کنید. به عنوان مثال، شما می توانید از validation rule MIME types برای شناسایی انواع فایل‌های مجاز و غیر مجاز استفاده کنید. برای شناسایی فایل‌های PNG با محتوای درست‌کاری شده، می توانید از MIME types image/png و image/x-png استفاده کنید.

در ادامه، یک validation rule برای شناسایی فایل‌های PNG با محتوای درست کاری شده را نشان می‌دهیم:

$this->validate($request, [
    'file' => 'required|file|mimetypes:image/png,image/x-png',
]);

این rule می گوید که فایل ارسالی باید از نوع file باشد و mimetype آن باید image/png یا image/x-png باشد. در صورتی که فایل ارسالی، MIME type مناسب را نداشته باشد، validation شکست خواهد خورد و امکان آپلود فایل را نخواهید داشت.

همچنین، برای اطمینان بیشتر، می توانید از validation rule دیگری به‌نام image استفاده کنید که علاوه بر شناسایی MIME type، سایز و ابعاد تصویر را نیز بررسی می‌کند.

$this->validate($request, [
    'file' => 'required|image|mimetypes:image/png,image/x-png',
]);

در حالت بالا، فایل ارسالی باید از نوع image باشد و mimetype آن باید image/png یا image/x-png باشد. همچنین، سایز و ابعاد تصویر نیز بررسی می شوند.

با استفاده از این validation rules، می توانید فایل‌های مجاز و غیر مجاز را شناسایی کنید و از آپلود فایل‌هایی که نامناسب هستند جلوگیری کنید.


ARON
تخصص : برنامه نویس
@aron 2 سال پیش مطرح شد
0

@Arshiamohammadei این ولیدیشن حتی اگر محتوای داخل فایل عکس هم دستکاری شده باشه تشخیص میده؟


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام