دسترسی به سیستم فایل با استفاده از SQL

من فقط با گزینه خوبی در MySQL روبرو شدم تا به سیستم فایل وارد شوم و اطلاعات ارزشمندی را بدست آورم ، به عنوان مثال در مورد وجود پرونده ها و پوشه ها یا محتوای آنها. این می تواند به عنوان جایگزینی برای تابع php file_exists بسیار مفید باشد ، زیرا اطلاعات مربوط به وجود فایل (ها) هنوز هم می توانند در درخواست برای مرتب سازی و جمع آوری توابع بیشتر استفاده شوند.


اگر کاربر پایگاه داده مرتبط دارای امتیاز FILE است ، می توانید از این دستور استفاده کنید

SELECT LOAD_FILE(*PFAD ZUR DATEI*)

در طول سeryال نه تنها وجود یک فایل را بررسی کنید ، بلکه محتوای آن را نیز بخوانید.

در سیستم های ویندوز لازم به ذکر است که بک اسلش ها باید مطابق با آن در مسیر فایل علامت گذاری شوند (مثال: C: \\ Windows \\ System32 \\ drivers \\ etc \\ hosts). جنبه امنیتی نیز نباید کاملاً نادیده گرفته شود ، زیرا وقتی امتیاز FILE اعطا می شود ، دسترسی به پایگاه داده به طور خودکار به معنای دسترسی به بقیه سیستم فایل است.

برای اطمینان از اینکه نه تنها مقادیر NULL بازگردانده می شوند ، باید اطمینان حاصل شود که کاربری که MySQL را اجرا می کند از حقوق خواندن برخوردار است.

برای دستیابی به پرونده های بزرگ ، ویژگی جهانی "max_allowed_packet" که روی 1 مگابایت تنظیم شده است باید افزایش یابد.

mysql -u... -p...
set global max_allowed_packet = 1024 * 1024 * 512;
exit;

اکنون می توانید (پس از راه اندازی مجدد سرور) به پرونده هایی که حداکثر 512 مگابایت حجم دارند دسترسی پیدا کنید.

بازگشت