
به اشتراک بگذارید

به اشتراک بگذارید
امنیت وردپرس | بلاگ وبداده
غیرفعال کردن Directory Browsing در وردپرس
Options -Indexes به فایل .htaccess روی سرور آپاچی.autoindex off که معمولاً پیشفرض هم هست.index.php یا index.html وجود نداشته باشد، سرور بهجای نمایش خطا، محتوای همان پوشه را به شکل یک فهرست کلیکشدنی (صفحه معروف «Index of /») به بازدیدکننده نشان میدهد.wp-content/uploads) استاندارد و شناختهشده است، این موضوع در عمل نقشهای از سایت بهدست مهاجم میدهد.
Advanced (پیشرفته) وارد ابزار Indexes شوید، پوشهای را که میخواهید تنظیم کنید انتخاب کنید و گزینه No Indexing را بزنید و ذخیره کنید. سیپنل پشت صحنه همان خط لازم را به فایل .htaccess همان پوشه اضافه میکند (و اگر .htaccess نبود، میسازد). از این به بعد، بهجای فهرست فایلها، بازدیدکننده خطای 403 Forbidden میبیند.
.htaccess در پوشه ریشه سایت (کنار wp-config.php) است. این روش روی سرورهای آپاچی و لایتاسپید که در هاستهای سیپنل رایجاند کار میکند. کافی است این خط را اضافه کنید؛ فقط دقت کنید آن را خارج و بالای بلاک # BEGIN WordPress ... # END WordPress بگذارید، چون وردپرس آن بلاک را هنگام بازنویسی پیوندهای یکتا بازسازی میکند و تغییرات داخلش پاک میشود:example.com/wp-content/uploads/. اگر بهجای فهرست فایلها خطای 403 Forbidden ببینید، یعنی تنظیم درست اعمال شده است. اگر هنوز فهرست را میبینید، کش مرورگر را پاک کنید و دوباره امتحان کنید.autoindex off; را در بلاک server یا location قرار دهید:| روش | سطح دشواری | نیاز به دسترسی | مناسب برای | کار روی Nginx؟ |
|---|---|---|---|---|
| ابزار Indexes سیپنل | بسیار آسان | پنل سیپنل | همه، بهویژه تازهکارها | خیر (مخصوص آپاچی) |
| ویرایش .htaccess | متوسط | دسترسی به فایلها | کاربران آپاچی/لایتاسپید | خیر |
| دستور autoindex off | متوسط (فنی) | کانفیگ سرور | سرورهای Nginx | بله |
| افزونه امنیتی | آسان | پیشخوان وردپرس | کسانی که افزونه امنیتی دارند | بله (وابسته به افزونه) |
Options -Indexes در .htaccess کار را تمام میکند. کاربران Nginx هم فقط باید از خاموشبودن autoindex مطمئن شوند.Options -Indexes فقط روی سرورهای آپاچی/لایتاسپید کار میکند و روی Nginx بیاثر است. سوم، ویرایش نادرست .htaccess میتواند کل سایت را با خطای 500 از دسترس خارج کند. جمعبندی: این کار یک قدم لازم و ساده در امنسازی است، اما باید در کنار بهروزرسانی مرتب، رمز قوی و بکاپ منظم دیده شود، نه بهجای آنها.آدرس یک پوشه بدون فایل ایندکس را در مرورگر باز کنید؛ مثلاً example.com/wp-content/uploads/ یا یک پوشه دلخواه. اگر بهجای صفحه سایت یا خطای 403، فهرستی از فایلها و پوشهها با عنوان «Index of /» دیدید، یعنی فهرستگیری فعال است و باید آن را ببندید.
خیر. این تنظیم فقط جلوی نمایش فهرست فایلها به کاربر را میگیرد و هیچ تأثیر منفیای بر خزش، ایندکس شدن صفحات یا رتبه سایت در گوگل ندارد. برعکس، بستن نشت اطلاعات یک نشانه مثبت از نظر امنیت و اعتماد است.
بعد از غیرفعال کردن فهرستگیری، وقتی پوشهای بدون فایل ایندکس باز شود معمولاً خطای 403 Forbidden (دسترسی ممنوع) نمایش داده میشود، یعنی سرور از نشاندادن محتوا خودداری میکند. این با 404 (یافت نشد) فرق دارد؛ 403 یعنی مسیر وجود دارد ولی دسترسی به فهرستش بسته است.
اگر هاست شما آپاچی/سیپنل است، از ابزار Indexes سیپنل یا ویرایش .htaccess استفاده کنید که هر دو در سطح کاربر ممکناند. اگر سرور Nginx است و به کانفیگ دسترسی ندارید، کافی است از پشتیبانی هاست بخواهید فهرستگیری دایرکتوری را برایتان غیرفعال کند.
بهطور کامل نه. هسته وردپرس در بعضی پوشهها یک فایل index.php خالی میگذارد تا محتوایشان فهرست نشود، اما این کار همهی زیرپوشهها، بهویژه پوشههای آپلود و پوشههای ساختهشده توسط افزونهها را پوشش نمیدهد. برای همین بستن در سطح سرور همچنان توصیه میشود.
آن را در بالای فایل و خارج از بلاک # BEGIN WordPress تا # END WordPress قرار دهید. چون وردپرس محتوای داخل آن بلاک را هنگام ذخیره تنظیمات پیوند یکتا بازنویسی میکند و اگر خط شما داخل آن باشد، ممکن است پاک شود.
از طریق مدیر فایل هاست یا FTP وارد شوید، خطی را که اضافه کردهاید حذف کنید یا فایل .htaccess را به نسخه بکاپ برگردانید. سایت بلافاصله به حالت قبل بازمیگردد. اگر بکاپ ندارید، میتوانید نام فایل .htaccess را موقتاً تغییر دهید تا سرور آن را نادیده بگیرد.
نه لزوماً. روشهای سیپنل و .htaccess بدون هیچ افزونهای کار را انجام میدهند. افزونههای امنیتی فقط یک راه جایگزین و راحتترند؛ اگر از قبل افزونه امنیتی دارید از گزینهاش استفاده کنید، وگرنه نیازی به نصب افزونه جدید فقط برای این کار نیست.