کدهای اچ تی اکسس برای افزایش امنیت سایت

فایل .htaccess یکی از ابزارهای قدرتمند برای افزایش امنیت سایت‌های Apache است. در ادامه، مجموعه‌ای از کدهای امنیتی را معرفی می‌کنم که می‌توانند به بهبود امنیت سایت شما کمک کنند.


🔒 1. جلوگیری از نمایش لیست فایل‌ها

اگر دایرکتوری سایت شما فاقد فایل index.html باشد، کاربران می‌توانند لیست فایل‌های آن را ببینند. برای جلوگیری از این مشکل:

Options -Indexes

2. غیرفعال کردن اجرای فایل‌های PHP در پوشه‌های حساس

اگر از وردپرس یا هر CMS دیگری استفاده می‌کنید، بهتر است اجرای فایل‌های PHP را در پوشه‌هایی مثل uploads غیرفعال کنید:

<FilesMatch “\.php$”>
deny from all
</FilesMatch>

📌 مسیر دقیق را در uploads/.htaccess قرار دهید.


🔄 3. ریدایرکت سایت به HTTPS

اگر می‌خواهید سایت شما همیشه با SSL (https://) بارگذاری شود:

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]

4. جلوگیری از دسترسی به wp-config.php و .htaccess

برای جلوگیری از هک شدن وردپرس، فایل‌های حساس را قفل کنید:

<Files wp-config.php>
order allow,deny
deny from all
</Files>

<Files .htaccess>
order allow,deny
deny from all
</Files>

🔐 5. جلوگیری از هات لینک (Hotlink Protection)

اگر نمی‌خواهید سایت‌های دیگر از تصاویر شما بدون اجازه استفاده کنند:

 

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^https://(www\.)?yourdomain\.com/.*$ [NC]
RewriteRule \.(jpg|jpeg|png|gif|webp)$ – [F]

 

 

🚀 6. محدود کردن دسترسی به پنل مدیریت

اگر می‌خواهید دسترسی به wp-admin یا هر پوشه‌ی مدیریت فقط از یک آی‌پی خاص ممکن باشد:

 

<Files wp-login.php>
order deny,allow
deny from all
allow from 123.45.67.89
</Files>

📌 123.45.67.89 را با آی‌پی خود جایگزین کنید.

 

🛡 7. جلوگیری از حملات XSS

حملات XSS (Cross-Site Scripting) می‌توانند به سرقت اطلاعات منجر شوند. برای کاهش خطر:

 

Header set X-XSS-Protection “1; mode=block”
Header always append X-Frame-Options DENY

 

🔥 8. جلوگیری از حملات SQL Injection

برای کاهش خطر حملات SQL Injection:

RewriteCond %{QUERY_STRING} (\<|>|’|”|%3C|%3E|%27|%22) [NC]
RewriteRule .* – [F]

9. بلاک کردن دسترسی به سایت از کشورهای خاص

اگر می‌خواهید دسترسی از برخی کشورها را مسدود کنید، از GeoIP در .htaccess استفاده کنید:

SetEnvIf GEOIP_COUNTRY_CODE CN BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE RU BlockCountry
Deny from env=BlockCountry

📌 این کد دسترسی از چین (CN) و روسیه (RU) را می‌بندد. می‌توانید کد کشورها را تغییر دهید.

🔄 10. جلوگیری از استفاده بیش‌ازحد از منابع سرور (DDoS Protection)

حملات DDoS می‌توانند سرور را دچار اختلال کنند. برای محدود کردن تعداد درخواست‌ها:

 

<Limit GET POST>
Order deny,allow
Deny from all
Allow from 123.45.67.89
</Limit>

 

📌 فقط آی‌پی‌های مجاز را اضافه کنید.


📌 نکته مهم:

قبل از اعمال تغییرات در .htaccess، از فایل اصلی بکاپ بگیرید تا در صورت خطا، بتوانید تنظیمات را به حالت قبل برگردانید.

 

 

دیدگاه‌ خود را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

پیمایش به بالا