ایمن سازی وردپرس با .htaccess (دریافت پیوندک)

نوشته شده در تاریخ: 27/08/93 | نویسنده:هادی شهیدی

ایمن سازی وردپرس با .htaccess

فایل .htaccess جهت کنترل آپاچی  می باشد این فایل نام مشخصی ندارد و همه آنرا با همان پسوند .htaccess صدا میزنند در ادامه 8 روش را برای ایمن تر شدن وردپرس به شما توصیه خواهیم کرد.

نکته: حتمن پیش از اعمال هر تغییری در این فایل لطفا از آن بکاپ تهیه کنید چون تغییرات نادرست باعث اختلال در لود وب سایت شما خواهد شد.

چطور در فایل .htaccess تغییر ایجاد کنیم
فایل .htaccess در پوشه Public_html شما می باشد بروی آن راست کلیک و code edit راانتخاب کنید، اگر از افزونه ی Yoast SEO استفاده می کنید، می توانید از طریق ‘Edit Files’ در settings این افزونه فایل .htaccess را مشاهده و ویرایش کنید.

1- محافظت از فایل wp-config.php

wp-config از فایلهای مهم در ریشه سایت شماست که دارای اطلاعات حساس دیتابیس وردپرس شامل نام کاربری ، پسورد و نام هاست می باشد هیچ کاربر عمومی نباید به این فایل دسترسی داشته باشد دسترسی به این فایل مساوی با هک شدن سایت است برای جلوگیری از دسترسی به این فایل کدهای زیر را در فایل .htaccess قرار دهید:

# Deny access to wp-config.php file
<files wp-config.php>
order allow,deny
deny from all
</files>

2- ایمن سازی پوشه wp-includes
wp-includes یکی از اصلی ترین پوشه ها در پیکربندی وردپرس است علی الخصوص بعلت دسترسی به اسکریپت ها باید توجه بیشتری به ایمن سازی آن شود، کدهای زیر دسترسی به این پوشه را مسدود می کند:

# Block wp-includes folder and files
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^wp-admin/includes/ – [F,L]
RewriteRule !^wp-includes/ – [S=3]
RewriteRule ^wp-includes/[^/]+\.php$ – [F,L]
RewriteRule ^wp-includes/js/tinymce/langs/.+\.php – [F,L]
RewriteRule ^wp-includes/theme-compat/ – [F,L]
</IfModule>

3- دسترسی به مدیریت وردپرس فقط با IP
شما می توانید با یک IP مشخص که در کد زیر وارد می شود تعیین کنید که غیر از IP تعیین شده در [insert your IP address] هیچ IP دیگری به مدیریت وردپرس شما یا بهتر است بگویم به پوشه ی wp-admin دسترسی نداشته باشد:

# Limit logins and admin by IP
order deny,allow
allow from [insert your IP address]
deny from all

4-بلاک کردن اسپمرها
هریک از ما حتما با اسپمرها مواجه شده ایم برای بلاکه کردن، بسادگی می توانیم IP اسپمر را در دستور زیر قرار دهیم تا مانع از دسترسی آن شویم :

# Block one or more IP address.
order allow, deny
deny from xxx.xxx.x.x [bad IP address 1]
deny from xxx.xxx.x.x [bad IP address 2]
deny from xxx.xxx.x.xx [bad IP address 3]
allow from all

5- غیرفعال کردن مشاهده محتویات پوشه
پوشه هایی که دارای فایل index نمی باشند به سادگی می توان محتویات آنها را مشاهده کرد و این پوشه ها حفره و بسیار خطرناک هستند برای مسدود کرد این حفره از کدهای زیر کمک بگیرید:

# Disable directory browsing
Options -Indexes

6-غیرفعال کردن Hotlinking
مطلبی را با متن و تصویر کامل در بلاگ خود می نویسید، شخصی متن شما را کپی می کند و تصاویر را به صورت لینک از روی وب سایت شما می خواند علاوه بر کپی، از پهنای باند(bandwidth) شما سو استفاده می کند با کدهای زیر می توانید از این سو استفاده جلوگیری کنید:

# Prevent image hotlinking script.
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.\.)?www.[insert your domain name] [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ – [NC,F,L]

7-فشرده سازی اطلاعات برای کاربر
جهت کاهش حجم صفحات سایت می توانید آنها را با کد زیر فشرده سازید و پس از درخواست مشاهده سایت، صفحات فشرده برای مرورگر کاربر ارسال می شود و مرورگر پس از دریافت صفحات فشرده آنها را به صورت اتوماتیک از حالت فشرده خارج می کند و سایت با سرعت بیشتری برای کاربر لود خواهد شد:

#Gzip
AddOutputFilterByType DEFLATE text/html text/xml text/css text/plain AddOutputFilterByType DEFLATE image/svg+xml application/xhtml+xml application/xml AddOutputFilterByType DEFLATE application/rdf+xml application/rss+xml application/atom+xml AddOutputFilterByType DEFLATE text/javascript application/javascript application/x-javascript AddOutputFilterByType DEFLATE application/x-font-ttf application/x-font-otf AddOutputFilterByType DEFLATE font/truetype font/opentype
#End Gzip

8- جلوگیری از دسترسی به .htaccess
در پایان برای جلوگیری از دسترسی به خود فایل .htaccess دستورات زیر را استفاده کنید:

# Deny access to all .htaccess files
<files ~ “^.*\.([Hh][Tt][Aa])”>
order allow,deny
deny from all
satisfy all
</files>