غیرفعال کردن فهرست دایرکتوری در وردپرس یکی از اقدامات مهم برای افزایش امنیت سایت است. وقتی کاربری به یک پوشه در سایت وردپرس شما مراجعه کند که فایل index در آن وجود ندارد، ممکن است لیستی از فایلها و زیرپوشههای آن دایرکتوری برای او نمایش داده شود. این حالت که به آن فهرست دایرکتوری یا Directory Listing گفته میشود، در ظاهر بیخطر به نظر میرسد، اما در واقع میتواند یک ریسک امنیتی جدی برای سایت شما ایجاد کند.
در این مقاله از بلاگ آذردیتا، به شما توضیح میدهیم چرا غیرفعالسازی Directory Listing در وردپرس اهمیت دارد و چگونه میتوانید این قابلیت را در سرورهای Apache و Nginx بهصورت گامبهگام غیرفعال کنید تا از نمایش فایلها در وردپرس جلوگیری کرده و امنیت فایلهای وردپرس را افزایش دهید.
چرا باید غیرفعال کردن فهرست دایرکتوری در وردپرس را جدی بگیریم؟
غیرفعال کردن فهرست دایرکتوری در وردپرس از آن جهت اهمیت دارد که این قابلیت به بازدیدکنندگان – و حتی هکرها – اجازه میدهد محتوای پوشههای هاست سایت شما را مشاهده کنند. این وضعیت میتواند مشکلات متعددی به همراه داشته باشد.
اول از همه، فایلهای حساس مانند فایلهای پیکربندی، نسخههای پشتیبان و افزونهها ممکن است بدون هیچ محافظتی در دسترس عموم قرار بگیرند. اگر فهرست دایرکتوری فعال باشد، افراد میتوانند مستقیماً به فایلهای موجود در سرور دسترسی پیدا کرده یا حتی آنها را دانلود کنند.
علاوه بر این، هکرها میتوانند با مشاهده ساختار دایرکتوری، نقاط ضعف امنیتی را شناسایی کرده و از آنها سوءاستفاده کنند. از طرفی، نمایش فایلهای ناقص یا غیرضروری به کاربران باعث میشود سایت شما غیرحرفهای به نظر برسد.
با غیرفعالسازی Directory Listing در وردپرس، گامی مهم در جهت افزایش امنیت سایت، حفظ حریم خصوصی و ارتقای ظاهر حرفهای وبسایت خود برمیدارید.
چگونه بفهمیم فهرست دایرکتوری در هاست فعال است؟
برای بررسی اینکه آیا فهرست دایرکتوری در سایت شما فعال است یا خیر، کافیست مرورگر خود را باز کرده و آدرس یکی از پوشههای سایت را وارد کنید. به عنوان مثال میتوانید به مسیرهایی مانند https://yourwebsite.com/wp-content/uploads/
یا https://yourwebsite.com/wp-includes/
مراجعه کنید
(بهجای yourwebsite.com دامنه سایت خود را قرار دهید).
اگر غیرفعال کردن فهرست دایرکتوری در وردپرس از قبل انجام شده باشد، با خطای ۴۰۳ Forbidden یا یک صفحه سفید مواجه خواهید شد.
اما اگر این قابلیت فعال باشد، لیستی از فایلها و پوشههای موجود در آن مسیر برای شما نمایش داده میشود.
در این حالت، باید سریعاً نسبت به غیرفعالسازی Directory Listing در وردپرس اقدام کنید تا از نمایش فایلها در وردپرس جلوگیری کرده و امنیت سایت خود را حفظ نمایید.
روش اول: استفاده از فایل .htaccess در سرورهای Apache
اگر سایت شما روی سرور Apache میزبانی میشود، بهراحتی میتوانید با ویرایش فایل .htaccess
نسبت به غیرفعال کردن فهرست دایرکتوری در وردپرس اقدام کنید. معمولاً برای این کار باید از طریق یک نرمافزار FTP یا پنل مدیریتی هاست به فایلهای سایت دسترسی پیدا کرده و فایل .htaccess
را ویرایش نمایید.
اما اگر از افزونه Rank Math SEO استفاده میکنید، امکان ویرایش این فایل بهطور مستقیم از پیشخوان وردپرس نیز وجود دارد. کافیست به مسیر:Rank Math SEO → تنظیمات عمومی → ویرایش .htaccess
مراجعه کنید.
اگر با پیغام هشدار مواجه شدید، آن را تأیید کرده و سپس کد زیر را در انتهای فایل .htaccess
قرار دهید:
Options -Indexes
نمونهای از کد درجشده برای جلوگیری از فهرست شدن فایلها در هاست به همین شکل خواهد بود.
در پایان، روی دکمه ذخیره تغییرات (Save Changes) کلیک کنید. حالا دوباره همان مسیر پوشهای را که قبلاً بررسی کرده بودید، در مرورگر باز کنید.
اگر عملیات با موفقیت انجام شده باشد، به جای لیست فایلها، خطای ۴۰۳ Forbidden را مشاهده خواهید کرد که نشانهای از غیرفعالسازی Directory Listing در وردپرس است.
روش دوم: برای سرورهای Nginx
اگر سایت وردپرس شما روی سرور Nginx میزبانی میشود، روش غیرفعال کردن فهرست دایرکتوری در وردپرس کمی متفاوت است. برخلاف Apache، سرور Nginx از فایل .htaccess
پشتیبانی نمیکند، بنابراین باید مستقیماً فایل تنظیمات سرور را ویرایش کنید.
برای شروع، از طریق SSH یا مدیریت فایل هاست به سرور متصل شوید و فایل پیکربندی سایت را پیدا کنید. این فایل معمولاً در مسیر /etc/nginx/sites-available/your-site
قرار دارد.
پس از باز کردن فایل، بخش مربوط به دامنه سایت خود را (server block) بیابید. درون این بخش، دستور زیر را اضافه کنید:
autoindex off;
سپس فایل را ذخیره کرده و برای اعمال تغییرات، سرور را با دستور زیر راهاندازی مجدد کنید:
sudo systemctl restart nginx
پس از راهاندازی مجدد، دوباره آدرس پوشه تستشده را در مرورگر باز کنید. اگر همه مراحل را به درستی انجام داده باشید، بهجای نمایش لیست فایلها، خطای ۴۰۳ Forbidden را مشاهده خواهید کرد. این یعنی نمایش فایلها در وردپرس با موفقیت مسدود شده و فهرست دایرکتوری غیرفعال شده است.
در مجموع، غیرفعالسازی Directory Listing در وردپرس، چه در Apache با افزودن Options -Indexes
به .htaccess
و چه در Nginx با غیرفعال کردن autoindex، یک گام ساده اما بسیار حیاتی برای افزایش امنیت فایلهای وردپرس و حفظ حریم خصوصی اطلاعات سایت شماست. با این اقدام، نه تنها از دادههای حساس خود محافظت میکنید، بلکه ظاهر حرفهایتری از سایت خود برای کاربران به نمایش میگذارید.
نتیجهگیری: امنیت سایت شما با یک تغییر ساده آغاز میشود
در این مقاله، به اهمیت غیرفعال کردن فهرست دایرکتوری در وردپرس پرداختیم و دو روش کاربردی برای انجام این کار در سرورهای Apache و Nginx معرفی کردیم. همانطور که دیدید، نمایش لیست فایلها و پوشهها به بازدیدکنندگان میتواند حفرهای جدی در امنیت سایت شما ایجاد کند و دادههای حساس را در معرض دسترسیهای غیرمجاز قرار دهد.
با انجام مراحل گفتهشده و غیرفعالسازی Directory Listing در وردپرس، نهتنها از جلوگیری از فهرست شدن فایلها در هاست مطمئن میشوید، بلکه گام بزرگی در راستای افزایش امنیت فایلهای وردپرس خود برداشتهاید.
❗ حالا نوبت شماست… اگر هنوز این تنظیمات را در سایت خود اعمال نکردهاید، همین حالا دستبهکار شوید و این اقدام ساده اما مؤثر را اجرا کنید.
آیا در فرآیند انجام این تنظیمات با مشکلی مواجه شدید؟ در بخش نظرات همین مقاله سوال خود را مطرح کنید تا تیم پشتیبانی فنی ما در سریعترین زمان ممکن شما را راهنمایی کند.