شاید تا به حا به این فکر افتاده باشید که چگونه میتوانید امنیت وردپرس خود را بالا ببرید. بسیازی از مسائل ابتدایی در مورد رعایت نکات امنیتی وردپرس مربوط میشود به فایل اچتیاکسس در وردپرس. در این نوشته ما به شما دوازه فن پر کاربرد .htaccess را توضیح میدهیم. بیشتر این فنون مربوط به نکات امنیتی و کاربردی وردپرس میباشد.
- 1 فایل .htaccess چیست و چگونه آن را ویرایش کنیم؟
- 2 1) محافظت از فضای مدیریت وردپرس
- 3 2) گذاشتن رمز برای محافظت از پوشههای مدیریت وردپرس
- 4 3) غیر فعال کردن مرور دایرکتوریها
- 5 4) غیر فعال کردن اجرای PHP در بعضی از دایرکتوریهای وردپرس
- 6 5) محافظت از فایل wp-config.php وردپرس
- 7 6) تنظیم مسیردهی 301 از طریق فایل .htaccess
- 8 7) بستن IP آدرسهای مشکوک
- 9 8) غیر فعال کردن هات لینک تصاویر در وردپرس با استفاده از .htaccess
- 10 9) محافظت از .htaccess در مقابل دسترسی غیرمجاز
- 11 10) افزایش سایز بارگذاری فایل در وردپرس
- 12 11) غیر فعال کردن دسترسی به فایل XML-RPC توسط .htaccess
- 13 12) مسدود کردن اسکن نویسنده در وردپرس
فایل .htaccess چیست و چگونه آن را ویرایش کنیم؟
.htaccess فایل پیکربندی سرور است، که به شما اجازه میدهد قوانینی را برای سرور تعریف کنید تا مطابق آن قوانین وبسایت شما را دنبال کند. همچنین وردپرس از این فایل برای ایجاد ساختار URL دوستانه سئو نیز استفاده میکند، اما این فایل کاربردهای بیشتری دارد.
مکان قرار گیری .htaccess درون پوشه اصلی (root) سایت وردپرس شما است. برای ویرایش این فایل نیاز است شما با استفاده از FTP client به وب سایت خود متصل شوید.
قبل از اینکه ویرایش فایل .htaccess را شروع کنید، بهتر است یک کپی از آن بر روی کامپیوتر شخصی یا لپ تاپ خود تهیه کنید تا در صورت بروز مشکل نسخهی پشتیبانی وجود داشته باشد.
1) محافظت از فضای مدیریت وردپرس
شاید تا به حال به این فکر کرده باشید که برای بالا بردن امنیت وردپرس، دسترسی مدیریت وردپرس را برای آیپی آدرسهایی که مشخصی میکنید فقط باز بگذارید.
توسط .htaccess میتوانید از محیط مدیریت وردپرس خود محافظت کنید، با معرفی IP آدرسهایی که میخواهید آنها به مدیریت وردپرس دسترسی داشته باشند.
کافی است این کد را در .htaccess خود کپی کنید:
AuthUserFile /dev/null AuthGroupFile /dev/null AuthName "WordPress Admin Access Control" AuthType Basic <LIMIT GET> order deny,allow deny from all # whitelist Syed's IP address allow from xx.xx.xx.xxx # whitelist David's IP address allow from xx.xx.xx.xxx </LIMIT>
فراموش نکنید به جای xx آدرس IP های مورد نظر خود را واردکنید، اگر بیش از یک IP مدنظر دارید میتوانید آنها را نیز به همین شکل یکی پس از دیگری وارد کنید.
2) گذاشتن رمز برای محافظت از پوشههای مدیریت وردپرس
اگر شما از مکانهای متعددی به وب سایت خود متصل میشوید، مانند مکانهایی که اینترنت عمومی دارند، محدود کردن IP آدرسها راه کاربردی برای شما نیست.
میتوانید از .htaccess استفاده کنید تا برای محافظت بیشتر از محدوده مدیریت وردپرس، پسورد اضافی ایجاد کند. برای اینکار ابتدا نیاز دارید فایلی به نام
.htpasswds
بسازید، میتوانید این کار را با سازنده های آنلاین مانند این لینک نیز انجام دهید.
سپس فایل
.htpasswds
خود را خارج از محدوده عمومی قابل دسترس وب قرار دهید.
/public_html/ folder
، یک آدرس خوب میتواند به این شکل باشد.
/home/user/.htpasswds/public_html/wp-admin/passwd/
سپس یک فایل .htaccess ایجاد کنید و آن را در دایرکتوری
/wp-admin/
قرار داده و کدهای زیر را درون آن کپی کنید:
AuthName "Admins Only" AuthUserFile /home/yourdirectory/.htpasswds/public_html/wp-admin/passwd AuthGroupFile /dev/null AuthType basic require user putyourusernamehere <Files admin-ajax.php> Order allow,deny Allow from all Satisfy any </Files>
فراموش نکنید آدرس
AuthUserFile
را با آدرس خود تعویض کنید، همچنین در قسمت
require user
نام کاربری خود را وارد کنید.
3) غیر فعال کردن مرور دایرکتوریها
بسیاری از افراد حرفهای در زمینه امنیت وردپرس پیشنهاد میکنند قابلیت مرور دایرکتوریها را غیر فعال کنید. در صورت فعال بودن این قابلیت هکرها میتوانند دایرکتوریهای شما را مرور کرده ساختار فایلهای شما و فایلهای آسیب پذیر را بیابند. برای غیر فعال کرد این قابلیت کافی است این کد را در فایل
.htaccess
خود کپی کنید.
Options -Indexes
4) غیر فعال کردن اجرای PHP در بعضی از دایرکتوریهای وردپرس
گاهی هکرها سایت وردپرسی را میشکنند و یک
backdoor
در آن نصب میکنند. این فایلهای
backdoor
اغلب جزئی از هسته میشوند و در
/wp-includes/
یا
/wp-content/uploads/folders
قرار میگیرند.
یکی از راههای ساده افزایش امنیت وردپرس این است، که قابلیت اجرای PHP را در بعضی دایرکتوریهای وردپرس غیر فعال کنیم. برای این کار، یک فایل .htaccess خالی در کامپیوتر خود ایجاد کنید، سپس کد زیر را درون آن کپی کنید.
<Files *.php> deny from all </Files>
فایل ایجاد شده را در دایرکتوریهای
/wp-content/uploads/
و
/wp-includes/
قرار دهید.
5) محافظت از فایل wp-config.php وردپرس
یکی از مهم ترین فایلیهایی که در پوشه اصلی (root) وردپرس وجود دارد
wp-config.php
است. این فایل حاوی اطلاعات دیتابیس وردپرس شما و چگونگی اتصال به آن است. برای محافظت از config.php این کد را در .htaccess خود کپی کنید:
<files wp-config.php> order allow,deny deny from all </files>
6) تنظیم مسیردهی 301 از طریق فایل .htaccess
استفاده از مسیردهی 301 یکی از روشهای دوستانه SEO است، تا از این طریق به کاربران خود بگوید محتوا به مکان جدید منتقل شده است. میخواهید سریع عمل مسیردهی را انجام دهید؟ پس این کد را در فایل .htaccess خود قرار دهید:
Redirect 301 /oldurl/ http://www.example.com/newurl Redirect 301 /category/television/ http://www.example.com/category/tv/
7) بستن IP آدرسهای مشکوک
آیا درخواستهای غیر معمولی از IP آدرسهای خاصی در وب سایت خود دارید؟ می توانید به راحتی از طریق فایل .htaccess آن IP آدرسها را بلاک کنید. این کد را درون فایل .htaccess خود کپی کنید:
<Limit GET POST> order allow,deny deny from xxx.xxx.xx.x allow from all </Limit>
فراموش نکنید به جای xx آیپی آدرس مورد نظر را وارد کنید.
8) غیر فعال کردن هات لینک تصاویر در وردپرس با استفاده از .htaccess
وبسایتهای دیگر ممکن است به صورت مستقیم از هات لینک تصاویر شما استفاده کنند، که این کار وردپرس شما را کند میکند، همچنین به محدودیت پهنای باند شما تجاوز میشود. برای وب سایتهای کوچک این مشکل بزرگی نیست، اما اگر شما وب سایت معروفی هستید که تصاویر زیادی دارید، این پدید میتواند به مشکلی بزرگ تبدیل شود. میتوانید از هات لینک کردن تصاویر با قرار دادن این کد در فایل .htaccess خود جلوگیری کنید.
#disable hotlinking of images with forbidden or custom image option RewriteEngine on RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?wpbeginner.com [NC] RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?google.com [NC] RewriteRule \.(jpg|jpeg|png|gif)$ – [NC,F,L]
این کد باعث میشود تصاویر فقط برای درخواستهایی که از طرف darkoobweb.com یا google.com میایند نمایش داده شوند. فراموش نکنید darkoobweb.com را با نام دامنه خود عوض کنید.
9) محافظت از .htaccess در مقابل دسترسی غیرمجاز
همان طور که دیدید فایل .htaccess قدرت زیادی دارد و محافظت از آن در مقابل هکرها مهم است، برای این کار این کد را در فایل .htaccess خود قرار دهید:
<files ~ "^.*\.([Hh][Tt][Aa])"> order allow,deny deny from all satisfy all </files>
10) افزایش سایز بارگذاری فایل در وردپرس
یکی از روشهایی که میتوانید به وسیله آن این کار را انجام دهید اضافه کردن کد زیر در فایل .htaccess است.
php_value upload_max_filesize 64M php_value post_max_size 64M php_value max_execution_time 300 php_value max_input_time 300
این که به وب سرور شما میگوید سایز بارگذاری فایل را افزایش دهد، همچنین حداکثر زمان اجرای ورد پرس را نیز افزایش میدهد.
11) غیر فعال کردن دسترسی به فایل XML-RPC توسط .htaccess
هر وردپرسی که نصب میشود دارای فایلی به نام
xmlrpc.php
است، این فایل به نرمافزارهای شخص ثالث اجازه میدهد به سایت وردپرس شما متصل شوند. اغلب متخصصان امنیت وردپرس توصیه میکنند، در صورتی که از نرمافزارهای شخص ثالث استفاده نمیکنید، باید این قابلیت را غیر فعال کنید. راههای متفاوتی برای انجام این کار وجود دارد، یکی از آنها کپی کردن کد زیر در فایل .htaccess است:
# Block WordPress xmlrpc.php requests <Files xmlrpc.php> order deny,allow deny from all </Files>
12) مسدود کردن اسکن نویسنده در وردپرس
یکی از تکنیکهای متداول در حملههای
brute force
اسکن کردن نویسنده در سایت وردپرس است و سپس تلاش برای کرک کردن رمزهای ورود برای آن یوزرنیمها می باشد. میتوانید با کپی کردن کد زیر در فایل .htaccess از اسکن شدن نام نویسنده جلوگیری کنید:
# BEGIN block author scans RewriteEngine On RewriteBase / RewriteCond %{QUERY_STRING} (author=\d+) [NC] RewriteRule .* - [F] # END block author scans
با استفاده از دوازده فن بالا که توضیح داده شد شما میتوانید امنیت و کارآیی وردپرس خود را بالا ببرید.