نکات و ترفندهای زیادی در مورد افزایش امنیت وردپرس وجود دارد. بیشتر این راهکارها شامل نصب افزونههای امنیتی مختلف است. با این حال، اگر نمیخواهید افزونهای نصب کنید، میتوانید با استفاده از فایل .htaccess امنیت بالایی را در وردپرس داشته باشید. برای یادگیری بهتر وردپرس میتوانید در سایت آموزشی یک آموز وارد صفحه آموزش وردپرس شوید و سیستم مدیریت محتوا وردپرس را کامل یاد بگیرید.
فایل .htaccess برای چیست؟
این یک فایل متنی است که به برنامه نویسان و طراحان سایت اجازه میدهد تا تنظیمات سرور یا همان هاست سایت را تعیین کند. علاوه بر این، برای دسترسی کامل به مدیر نیاز نیست و تنها بر رفتار سرور برای دایرکتوری و زیرمجموعههای انتخابشده در سرور تأثیر میگذارد. وردپرس اساساً از آن برای تنظیم رفتار URLهای ایجادشده برای سئو استفاده میکند.
فایل .htaccess را از کجا پیدا کنم؟
این فایل در پوشه اصلی هاستینگ وب شما قرار دارد. فقط با کمک سرویس گیرنده انتخابی خود وارد FTP شوید و باید فایل را ببینید.
گاهی اوقات، پس از ورود به سرویس گیرنده FTP، ممکن است فایل را مشاهده نکنید. در این صورت، کافی است نمایش فایلهای مخفی را در تنظیمات برنامه (معمولاً Total Commander، WinSCP یا FileZilla) فعال کنید.
اگر هنوز هم نمیتوانید فایل را ببینید، میتوانید آن را به صورت دستی به سرور آپلود کنید یا به سادگی در تنظیمات وردپرس روی «تنظیمات» > «پیوندهای یکنواخت» کلیک کنید تا تنظیمات را به غیر از حالت عادی تغییر دهید و ذخیره کنید. حالا باید فایل را روی سرور مشاهده کنید. سپس میتوانید تنظیمات را به حالت قبل برگردانید.
چگونه .htaccess را ویرایش کنیم؟
برای ویرایش یک فایل، میتوانید از هر ویرایشگر متنی، از Notepad تا ویرایشگر حرفهای PSPad استفاده کنید. قبل از ویرایش فایل، یک پشتیبان از فایل در رایانه شخصی خود تهیه کنید تا در صورت بروز مشکل بتوانید تنظیمات را مجدداً انجام دهید.
1. قفل کردن بخش مدیریت برای جلوگیری از مهمانان ناخوانده
میتوانید از فایل .htaccess برای مدیریت وبسایت خود با آدرس IP استفاده کنید. شما فقط میتوانید از آدرسهای IP و مکانهای خاص به مدیریت وبسایت متصل شوید. این روش زمانی مفید است که به طور مرتب به یک رایانه شخصی یا چند رایانه شخصی با آدرس IP ثابت متصل میشوید. میتوانید از کد زیر استفاده کرده و آن را در فایل .htaccess کپی کنید:
AuthUserFile /dev/null
AuthGroupFile /dev/null
AuthName “کنترل دسترسی ادمین وردپرس”
AuthType Basic
<LIMIT GET>
order deny,allow
deny from all
# آدرس IP مجاز 1:
allow from xx.xx.xx.xxx
# آدرس IP مجاز 2:
allow from xx.xx.xx.xxx
</LIMIT>
به یاد داشته باشید که آدرس IP مجاز را با آدرس خود جایگزین کنید. میتوانید آدرسهای مجاز دلخواه را اضافه کنید.
2. محافظت از بخش مدیریت با رمز عبور دیگر
اگر از مکانهای مختلف به وردپرس متصل میشوید و نمیخواهید توسط یک آدرس IP خاص محدود شوید، میتوانید از امنیت رمز عبور استفاده کنید. ابتدا با استفاده از یک ابزار آنلاین یک فایل .htpasswds ایجاد کنید و سپس آن را در پوشهای که به صورت عمومی قابل دسترسی نیست آپلود کنید. به صورت ایدهآل، مثلا در:
/home/user/.htpasswds/public_html/wp-admin/passwd/
حالا میتوانید به خود فایل .htaccess دسترسی پیدا کنید که خطوط کد زیر را در آن کپی میکنید:
AuthName “فقط مدیران”
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” برای مسیری که با ساختار هاستینگ وب شما مطابقت دارد، جایگزین کنید.
3. غیرفعال کردن مرور پوشهها
برای جلوگیری از اینکه مهاجمین ببینند چه فایلهایی روی هاستینگ وب شما قرار دارند، میتوانید نمایش عمومی پوشهها را غیرفعال کنید. این مرحله توسط اکثر متخصصان امنیتی توصیه میشود.
برای فعال کردن، فقط یک خط به فایل .htaccess اضافه کنید:
Options -Indexes
ادامه امن کردن وردپرس بدون نیاز به افزونه، تنها با استفاده از فایل .htaccess
۴. غیرفعال کردن اجرای فایلهای PHP در پوشههای منتخب وردپرس
مهاجمان اغلب برای نفوذ به سیستم مدیریت محتوا از یک درب پشتی (backdoor) استفاده میکنند. این درب پشتی معمولا یک فایل است که به مهاجم اجازه میدهد به هاستینگ وب شما نفوذ کرده و سپس دستورات بیشتری را اجرا کند و کنترل وبسایت شما را به دست بگیرد.
یکی از راههای پیشگیرانه قرار دادن کد زیر در یک فایل .htaccess جدید است:
<Files *.php>
deny from all
</Files>
سپس این فایل را در هر یک از پوشههای زیر آپلود کنید:
• /wp-content/uploads/
• /wp-includes/
۵. ایمنسازی فایل پیکربندی wp-config.php
یکی از مهمترین فایلهای سایت وردپرس شما wp-config.php است. این فایل شامل اطلاعات دسترسی به پایگاه داده، از جمله رمز عبور است.
برای ایمنسازی فایل wp-config.php، کد زیر را در فایل اصلی .htaccess جایگذاری کنید:
<files wp-config.php>
order allow,deny
deny from all
</files>
۶. غیرفعال کردن دسترسی برای آدرسهای IP خاص
آیا متوجه تعداد غیرمعمول درخواست برای وبسایت خود از آدرسهای IP خاص شدهاید؟ اگر فکر میکنید این رفتار مشکوک است، میتوانید دسترسی به وبسایت خود را برای آدرسهای IP خاص مسدود کنید.
خطوط زیر را به فایل .htaccess اضافه کنید و xxx را با آن آدرس IP جایگزین کنید:
<Limit GET POST>
order allow,deny
deny from xxx.xxx.xx.x
allow from all
</Limit>