در این مقاله قصد آموزش نحوه قفل گذاری و محافظت از وردپرس شما را برای جلوگیری از ورود های غیر مجاز داریم. ما با محدود کردن دسترسی به دایرکتوری /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 کلیک نمایید.
پوشه اصلی Document Root دامنه خود را انتخاب کنید و بروی Go کلیک نمایید.
بروی پوشه wp-admin کلیک نمایید
تیک Password protect this directory را زده و بروی ذخیره کلیک نمایید.
حال بروی Go Back کلیک نمایید.
بروی Password Generator کلیک نمایید.
پسورد را کپی نمایید د تیک I have copied this password in a safe place را زده و بروی Use Password کلیک نمایید.
حال نام کاربری را در قسمت Username وار دنمایید و بروی Add/modify authorized user کلیک نمایید.
.
اقدام به ورود به wp-admin بنمایید .
همانطور که مشاهده می کنید مرورگر از شما درخواست پسود می نماید.
پس از ورود اطلاعات در قسمت قبل تازه وارد ورود وردپرس خواهید شد.
در صورتیکه وارد لوپ یا حلقه شدید حتما قبل از ان صفحه های خطا را تنظیم نمایید.
مجددا وارد cPanel سرو سرور خود شوید.
وارد File Manager شوید و تیک Show Hidden Files (dotfiles) را برای نمایش فایل های مخفی بزنید.
وارد پوشه 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
سپس اقدام به ذخیره فایل .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.php نیز در حال حاضر نیاز به پسورد خواهد داشت و در صورت عدم وجود پسورد خطای زیر نمایش داده می شود. .