سلام دوست من
ولیدیشن لاراول همیشه یه چیزهای توی خودش داره که همه رو غافل گیر میکنه بله وقتی فایل دستکاری میشه ولیدیشن تشخیص نمیده ولی میتونید ولیدیشن رو یه جور دیگه تنظیم کنید
برای اینکه بتوانید فایلهایی را که نامناسب هستند، مثل فایلهای حاوی محتوای درستکاری شده، شناسایی کنید، می توانید از امکانات 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، می توانید فایلهای مجاز و غیر مجاز را شناسایی کنید و از آپلود فایلهایی که نامناسب هستند جلوگیری کنید.
@Arshiamohammadei این ولیدیشن حتی اگر محتوای داخل فایل عکس هم دستکاری شده باشه تشخیص میده؟
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟