در این مقاله به تشریح روشی برای ورود 2 مرحله ای به پنل Admin وردپرس و جلوگیری از دسترسی افراد غیر مجاز به wp-admin و wp-login.php می پردازیم.
با اجرای دستور العمل زیر، صفحه لاگین از دسترس عموم خارج شده و عملا حمله به آن و تلاش جهت کشف اطلاعات ورود، خنثی خواهد شد!
1- مطابق با راهنمای نحوه رمز گذاری دایرکتوری، برای پوشه wp-admin واقع در مسیر نصب وردپرس، نام کاربری و رمز عبور تعریف کنید.
2- با اجرای مرحله فوق، در هنگام مراجعه به آدرس http://domain.com/wp-admin، ابتدا با یک Popup لاگین مواجه می شوید. بنابراین لازم است نام کاربری و رمز عبور ایجاد شده را در آن وارد کنید تا به صفحه لاگین وردپرس دسترسی پیدا کنید.
3- به صفحه اصلی cPanel مراجعه و از بخش Files به File Manager مراجعه کنید.
4- بر روی دکمه Settings واقع در بالای صفحه سمت راست، کلیک کنید.
5- از بخش Document root نام دامنه متصل به وردپرس را انتخاب و سپس چکباکس Show Hidden Files را فعال کنید. در نهایت بر روی دکمه Save، کلیک نمایید.
6- از منو سمت چپ به مسیر نصب وردپرس و پوشه wp-admin، مراجعه کنید.
7- فایل htaccess. را یافته و با کلیک راست بر روی آن، گزینه Edit را انتخاب کنید.
8- کدهای فعلی موجود در فایل htaccess. را کپی کنید. این کدها معمولا مشابه موارد زیر هستند:
AuthType Basic
AuthName "Secure Area"
AuthUserFile "/home/example/.htpasswds/public_html/wp-admin/passwd"
require valid-user
9- کد زیر را به ابتدای فایل اضافه و تغییرات را ذخیره کنید.
ErrorDocument 401 "Denied"
ErrorDocument 403 "Denied"
# Allow plugin access to admin-ajax.php around password protection
<Files admin-ajax.php>
Order allow,deny
Allow from all
Satisfy any
</Files>
10- به مسیر اصلی نصب وردپرس مراجعه و فایل htaccess. موجود در آن را جهت ویرایش باز کنید.
11- کدهای کپی شده در مرحله 7 را بین دو تگ <FilesMatch> به شرح زیر به فایل htaccess. اضافه کنید:
<FilesMatch "wp-login.php">
AuthType Basic
AuthName "Secure Area"
AuthUserFile "/home/example/.htpasswds/public_html/wp-admin/passwd"
require valid-user
</FilesMatch>
12- کار تمام شد! حال می توانید با مراجعه به هر یک از آدرس های wp-login.php و wp-admin، نتیجه مورد انتظار را مشاهده کنید.