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

من اخیراً به طور اتفاقی به یک روش جالب برای دسترسی به سیستم فایل و بازیابی اطلاعات ارزشمند، مانند وجود فایل‌ها و پوشه‌ها یا محتویات آنها، برخوردم. این می‌تواند به عنوان جایگزینی برای تابع ` file_exists` در PHP بسیار مفید باشد، زیرا اطلاعات مربوط به وجود فایل(ها) را می‌توان در پرس و جو برای توابع مرتب‌سازی و تجمیع بیشتر استفاده کرد.


مشروط بر اینکه کاربر پایگاه داده مرتبط دارای امتیازات 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 مگابایت حجم دارند دسترسی پیدا کنید.

بازگشت