جلوگیری از ورود غیر مجاز به وردپرس

در این مقاله قصد آموزش نحوه قفل گذاری و محافظت از وردپرس شما را برای جلوگیری از ورود های غیر مجاز داریم. ما با محدود کردن دسترسی به دایرکتوری /wp-admin و اسکریپت wp-login.php این مورد را انجام خواهیم داد.

این مقاله برای جلوگیری از حملات brute force  از اوریل 2013 نوشته شد.

محافظت از ورود های غیر مجاز

با استفاده از قدم های زیر بشما اموزش داده می شود چگونه محافظت از پسورد برای پوشه wp-admin قرار دهید. همچنین این موارد را برای فایل wp-login.php نیز انجام خواهید داد.

در صورتیکه این مورد باعث لوپ و یا حلقه در صفحه شما شد مطمئن شوید که از صفحات خطا یا ErrorDocument  در فایل .htaccess استفاده می نمایید.

ErrorDocument 401 “Denied”
ErrorDocument 403 “Denied”

 

.در زیر قسمت Security  بروی Password Protect Directories کلیک نمایید.

click on password protect directories

پوشه اصلی Document Root دامنه خود را انتخاب کنید و بروی Go کلیک نمایید.

select document root click go

click on wp admin

بروی پوشه wp-admin کلیک نمایید

تیک Password protect this directory را زده و بروی ذخیره کلیک نمایید.

check password protect name directory click save

click go back

حال بروی Go Back کلیک نمایید.

click on password generator and use password

بروی Password Generator کلیک نمایید.

پسورد را کپی نمایید د تیک I have copied this password in a safe place را زده و بروی Use Password کلیک نمایید.

 

click on add authorized user

حال نام کاربری را در قسمت Username وار دنمایید و بروی Add/modify authorized user کلیک نمایید.

.

authentication required click on log in

اقدام به ورود به wp-admin بنمایید .

همانطور که مشاهده می کنید مرورگر از شما درخواست پسود می نماید.

wordpress admin click on log in

پس از ورود اطلاعات در قسمت قبل تازه وارد ورود وردپرس خواهید شد.

در صورتیکه وارد لوپ یا حلقه شدید حتما قبل از ان صفحه های خطا را تنظیم نمایید.

مجددا وارد cPanel سرو سرور خود  شوید.

.click on file manager and go

وارد File Manager شوید و تیک Show Hidden Files (dotfiles) را برای نمایش فایل های مخفی بزنید.

وارد پوشه public_html شوید.

.click on wp admin and edit htaccess file

بروی پوشه wp-admin, کلیک کرده و ویرایش فایل .htaccess را انتخاب نمایید.

copy htaccess text

کد قسمت بالا را وارد نمایید همچنین کد زیر را در ضمیمه واردنمایید :

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>
AuthType Basic
 AuthName "Secure Area"
 AuthUserFile "/home/example/.htpasswds/public_html/wp-admin/passwd"

require valid-user

سپس اقدام به ذخیره فایل .htaccess بنمایید.

کد نویسی

با استفاده از کد زیر می توانید پوشه wp-admin را نیز همانند wp-login.php از طریق کد دارای پسورد بنمایید. برای این منظور کد ها را در فایل های زیر بنویسید.

public_html/wp-admin/.htaccess

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>
AuthType Basic
 AuthName "Secure Area"
 AuthUserFile "/home/example/.htpasswds/public_html/wp-admin/passwd"
 require valid-user

/public_html/.htaccess

ErrorDocument 401 "Denied"
 ErrorDocument 403 "Denied"
<FilesMatch "wp-login.php">
 AuthType Basic
 AuthName "Secure Area"
 AuthUserFile "/home/example/.htpasswds/public_html/wp-admin/passwd"
 require valid-user </FilesMatch>

wp login bad password attempt

همانطور که می بینید صفحه wp-login.php  نیز در حال حاضر نیاز به پسورد خواهد داشت و در صورت عدم وجود پسورد خطای زیر نمایش داده می شود. .

wp login bad password attempt blocked