در ادامه ایمن سازی بخش لاگین وردپرس، در این مقاله به نحوه ارائه مجوز به افراد خاص با استفاده از IP می پردازیم! بنابراین تنها در شرایطی امکان استفاده از این روش وجود دارد که افراد مورد نظر از IP اختصاصی در شبکه اینترنت خود، برخوردار باشند.
1- پس از لاگین به cPanel، به بخش Files > File Manager مراجعه کنید.
2- بر روی دکمه Settings واقع در بالای صفحه سمت راست، کلیک کنید.
3- از بخش Document root نام دامنه متصل به وردپرس را انتخاب و سپس چکباکس Show Hidden Files را فعال کنید. در نهایت بر روی دکمه Save، کلیک نمایید.
4- به مسیر نصب وردپرس مراجعه و فایل htaccess. موجود در آن را جهت ویرایش باز کنید.
5- با جایگزینی IP خود در کدهای زیر، اقدام به درج این کدها در فایل htaccess. نمایید:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_URI} ^(.*)?wp-login\.php(.*)$ [OR]
RewriteCond %{REQUEST_URI} ^(.*)?wp-admin$
RewriteCond %{REMOTE_ADDR} !^192\.168\.1\.1$
RewriteRule ^(.*)$ - [R=403,L]
</IfModule>
RewriteCond %{REMOTE_ADDR} !^192\.168\.1\.1$
اعمال محدودیت بدون IP اختصاصی!
چنانچه از IP اختصاصی استفاده نمی کنید بنابراین باید روشی اتخاذ شود که در عین اعمال محدودیت، دسترسی های مشکوک شناسایی و مسدود شوند. از آنجاییکه که اغلب حملات Brute Force و دسترسی های غیر مجاز با فراخوانی مستقیم فایل wp-login.php اتفاق می افتد بنابراین از این موضوع استفاده و دسترسی ها را تنها به آدرس دامنه محدود می کنیم. به آن معنا که بدون توجه به IP، تنها افرادی مجاز به دسترسی به صفحه لاگین خواهند بود که آدرس را به طور کامل با درج نام دامنه وارد کرده باشند:
مثال: http://domain.com/wp-login.php
به منظور اجرای این روش، کافیست کد زیر را با جایگذاری دامنه خود به جای example.com، در فایل htaccess. واقع در مسیر نصب وردپرس وارد کنید:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{HTTP_REFERER} !^http://(.*)?example\.com [NC]
RewriteCond %{REQUEST_URI} ^(.*)?wp-login\.php(.*)$ [OR]
RewriteCond %{REQUEST_URI} ^(.*)?wp-admin$
RewriteRule ^(.*)$ - [F]
</IfModule>