معرفی فایل htaccess. برای پیکربندی وبسرور آپاچی
فایل `.htaccess` (که مخفف Hypertext Access است) یک فایل پیکربندی قدرتمند برای وبسرورهای آپاچی (Apache) است. این فایل به شما اجازه میدهد تا تنظیمات و قوانین خاصی را برای یک دایرکتوری مشخص و زیرشاخههای آن تعریف کنید، بدون اینکه نیاز به دسترسی به فایل اصلی پیکربندی سرور داشته باشید. در وردپرس، این فایل در ریشه (root) نصب وردپرس شما قرار دارد و نقش حیاتی در مدیریت پیوندهای یکتا (Permalinks) و همچنین افزایش امنیت سایت ایفا میکند.
اگر این فایل را در هاست خود نمیبینید، احتمالاً به این دلیل است که فایلهای مخفی (dotfiles) در فایل منیجر هاست شما نمایش داده نمیشوند. شما باید گزینه «Show Hidden Files» را در تنظیمات فایل منیجر خود فعال کنید تا بتوانید آن را مشاهده و ویرایش کنید.
نقش htaccess. در عملکرد وردپرس
کاربرد اصلی فایل `.htaccess` در یک نصب استاندارد وردپرس، مدیریت «پیوندهای یکتا» است. زمانی که شما ساختار پیوندهای یکتای خود را از حالت پیشفرض (مثلاً `?p=123`) به حالتی مانند «نام نوشته» تغییر میدهید، وردپرس به صورت خودکار کدهای زیر را در فایل `.htaccess` شما مینویسد:
# BEGIN WordPress
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPressاین کدها به سرور میگویند که تمام درخواستها را به فایل `index.php` وردپرس هدایت کند تا وردپرس بتواند URL درخواست شده را تحلیل کرده و محتوای صحیح را به کاربر نمایش دهد. این فرآیند همان چیزی است که به شما امکان میدهد آدرسهای زیبا و خوانا برای صفحات خود داشته باشید.
چگونه از htaccess. برای افزایش امنیت وردپرس استفاده کنیم؟
علاوه بر مدیریت پیوندهای یکتا، فایل `.htaccess` یک ابزار فوقالعاده برای پیادهسازی قوانین امنیتی است. با افزودن چند خط کد ساده، میتوانید جلوی بسیاری از حملات رایج را بگیرید. در ادامه چند نمونه از مهمترین کاربردهای امنیتی آن آورده شده است:
- محافظت از فایل wp-config.php: این فایل حاوی اطلاعات حساس دیتابیس شماست. با کد زیر میتوانید دسترسی مستقیم به آن از طریق مرورگر را مسدود کنید.order allow,deny
deny from all
- غیرفعال کردن اجرای PHP در پوشه آپلودها: هکرها اغلب تلاش میکنند فایلهای PHP مخرب را در پوشه `wp-content/uploads` آپلود و اجرا کنند. شما میتوانید با ایجاد یک فایل `.htaccess` جدید در این پوشه و قرار دادن کد زیر در آن، اجرای هرگونه فایل PHP را متوقف کنید.deny from all
- جلوگیری از نمایش لیست فایلهای پوشهها (Directory Listing): اگر یک پوشه فاقد فایل `index.html` یا `index.php` باشد، سرور ممکن است لیست تمام فایلهای داخل آن را به بازدیدکننده نمایش دهد. این کار اطلاعات مهمی را در اختیار هکرها قرار میدهد. برای جلوگیری از این کار، کد زیر را به فایل `.htaccess` اصلی خود اضافه کنید.
Options -Indexes - محافظت از خود فایل htaccess.: برای اینکه کسی نتواند محتوای خود این فایل را ببیند، از کد زیر استفاده کنید.order allow,deny
deny from all satisfy all
- محدود کردن دسترسی به پیشخوان وردپرس (wp-admin): شما میتوانید دسترسی به پوشه `wp-admin` را فقط به آدرس IP خودتان محدود کنید تا هیچکس دیگری نتواند حتی صفحه ورود را ببیند. برای این کار، یک فایل `.htaccess` جدید در پوشه `wp-admin` ایجاد کرده و کدهای زیر را در آن قرار دهید (به جای `YOUR_IP_ADDRESS`، آدرس IP خود را وارد کنید).
order deny,allow allow from YOUR_IP_ADDRESS deny from all
هشدار: قبل از هرگونه تغییر در فایل `.htaccess`، حتماً یک نسخه پشتیبان از آن تهیه کنید. یک اشتباه کوچک در این فایل میتواند باعث از دسترس خارج شدن کل سایت شما شود (خطای 500 Internal Server Error). با این حال، با کمی دقت، این فایل میتواند به یکی از بهترین دوستان شما در تامین امنیت سایت وردپرسیتان تبدیل شود.
