وبلاگ نت‌آرامآموزش، تجربه و راهکارهای زیرساخت

LOAD DATA LOCAL در MySQL؛ بررسی نیاز و کنترل دسترسی

LOCAL فایل را از سمت client می‌خواند و ملاحظات امنیتی مخصوص دارد. خاموش یا روشن کردن عمومی آن باید با نیاز برنامه و نسخهٔ دیتابیس بررسی شود.

انتشار:
آخرین ویرایش:
توسط مصطفی جانقربان
۳ دقیقه زمان مطالعه
۰ دیدگاه
محتوای تخصصی، ساده و کاربردی
هماهنگ با هویت حرفه‌ای نت‌آرام
بازگشت به لیست مقالات
تصویر شاخص مقاله LOAD DATA LOCAL در MySQL؛ بررسی نیاز و کنترل دسترسی در وبلاگ نت‌آرام
محتوای آموزشی وبلاگ نت‌آرام
فرض کنید فایل CSV شامل فهرست محصولات روی رایانهٔ شماست و می‌خواهید ردیف‌هایش وارد دیتابیس شوند. بعضی ابزارها با LOAD DATA LOCAL فایل را از دستگاهِ برقرارکنندهٔ اتصال می‌خوانند و به سرور می‌فرستند. واژهٔ LOCAL در اینجا به همین سمت اتصال اشاره می‌کند؛ الزاماً به دیسک سرور سایت اشاره ندارد.

یک نمونهٔ ساده از LOCAL

برای دیدن وضعیت، در اتصال مجاز MySQL می‌توان SHOW VARIABLES LIKE 'local_infile'; را اجرا کرد. نتیجهٔ ON یا OFF وضعیت سمت سرور را نشان می‌دهد. اگر OFF باشد، تنظیم سمت برنامه به‌تنهایی کافی نیست. اگر ON باشد ولی ابزار ورود فایل هنوز خطا بدهد، تنظیم همان ابزار و مجوز خواندن فایل هم باید بررسی شود.
اگر تنها می‌خواهید یک خروجی SQL معمولی را با Import در phpMyAdmin وارد کنید، لازم نیست صرفاً به خاطر این کار LOCAL را روشن کنید. پیش از تغییر سراسری، مشخص کنید کدام برنامه واقعاً از این روش استفاده می‌کند. مدیر می‌تواند قابلیت بی‌نیاز را محدود کند، اما باید نتیجهٔ وارد کردن داده در برنامه‌های وابسته را هم ببیند تا یک کار سالم کاربران بی‌خبر قطع نشود.

نیاز واقعی را پیدا کنید

نسخهٔ MySQL یا MariaDB و کتابخانهٔ اتصال برنامه را ثبت کنید. بعضی ابزارهای ورود داده از LOCAL استفاده می‌کنند و بعضی روش‌های دیگری دارند. اگر یک فرایند وارد کردن داده دارید، نام عملیات و پیام خطای آن را بررسی کنید؛ صرف دیدن هشدار CSF دلیل کافی برای تغییر تنظیم همهٔ مشتریان نیست.
به تفاوت تنظیم سمت سرور و کلاینت توجه کنید. فعال بودن در یک طرف لزوماً باعث نمی‌شود عملیات انجام شود. تنظیم برنامه، کتابخانهٔ اتصال و سیاست دسترسی فایل نیز می‌توانند اثر داشته باشند. برای تشخیص، ابتدا یک محیط آزمایشی با همان ابزار بسازید.

محدود کردن قابلیت بی‌نیاز

اگر برنامه‌ها به این امکان نیاز ندارند، مدیر می‌تواند با روش مستندشدهٔ موتور و نسخه آن را محدود کند. فایل تنظیم مؤثر و بخش درست آن باید مشخص باشد. وجود چند فایل تنظیم یا مقادیر تکراری می‌تواند باعث شود تغییری که می‌نویسید، مقدار نهایی نباشد.
قبل از تغییر از تنظیمات نسخه بگیرید و اثر آن بر کارهای وارد کردن داده را بررسی کنید. بعضی تنظیمات امکان تغییر پویا دارند و بعضی نیازمند راه‌اندازی مجددند؛ روش نسخهٔ فعلی را دنبال کنید. فرمان ری‌استارت مربوط به موتور دیگری یا سرویس نامشخص را از مقالهٔ قدیمی کپی نکنید.

وقتی برنامه به آن نیاز دارد

نیاز به LOCAL نباید به مجوز عمومی برای همهٔ ارتباط‌ها تبدیل شود. حساب دیتابیس برنامه، مقصد اتصال، محدودیت فایل و روش دریافت ورودی را بررسی کنید. دادهٔ دریافت‌شده از کاربر باید با کنترل نوع، اندازه و مسیر پردازش شود؛ فعال کردن یک گزینه جای طراحی صحیح مسیر ورود داده را نمی‌گیرد.
با یک فایل آزمایشی کوچک، ورود داده را امتحان کنید و تعداد رکوردهای واردشده و پیام‌های خطا را ببینید. عملیات ناموفق یا تکراری ممکن است بخشی از داده را دوباره ثبت کند، بنابراین نتیجه را تنها از روی پیام موفقیت رابط قضاوت نکنید.
بعد از تغییر، مقدار مؤثر تنظیم و کارکرد برنامه را بررسی کنید و گزارش امنیت را دوباره بخوانید. اگر هشدار ابزار با سیاست آگاهانهٔ سرویس تفاوت دارد، علت تصمیم را مستند کنید. هدف حفظ دسترسی موردنیاز و محدود کردن قابلیت اضافی است؛ خاموش کردن بی‌بررسی فقط برای تغییر رنگ گزارش، می‌تواند فرایند سالم کاربران را مختل کند.

منابع و ادامهٔ مطالعه

دیدگاه‌ها (۰)

دیدگاه‌های تاییدشده و پاسخ‌های تیم نت‌آرام