خانه / آموزش وردپرس / آموزش کامل تنظیمات فایل htaccess برای افزایش امنیت در وردپرس

آموزش کامل تنظیمات فایل htaccess برای افزایش امنیت در وردپرس

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

در سیستم های تحت وب که عموما با زبان برنامه نویسی html و php نوشته شده اند و روی سرور لینوکس میزبانی می شوند، برای ایجاد پیکربندی در دایرکتوری ها و پوشه ها روی وب سرور آپاچی از فایل htaccess. کمک می گیرند.

زمانی که یک فایل htaccess. را در یک دایرکتوری قرار می‌دهیم این فایل توسط وب سرور apache شناسایی و اجرا می‌شود. یک فایل htaccess. می‌تواند به وب سرور بگوید که چطور انواع مختلف اطلاعات را نمایش دهد و چگونه به سربرگ‌های متعدد درخواست‌های HTTP رسیدگی کند. این فایل در زمان عدم دسترسی به root سرور برای کنترل آپاچی بسیار مفید است.

دسترسی هایی که با استفاده از این فایل می توانید به آنها برسید شامل موارد زیر است:

  • کنترل ریدایرکت
  • کنترل دسترسی فیزیکی به فایلها و پوشه ها
  • کنترل نمایش خطاهای Apache
  • تنظیمات URL Rewrite
  • مسدود کردن یک یا چند IP خاص یا یک رنج IP
  • گذاشت پسورد بر روی پوشه ای خاص
  • تنظیمات کش و Expire Date آن
  • اعمال برخی تغییرات در تنظیمات پیش فرض PHP، MySQL و Apache
  • جلوگیری از نمایش تمامی فایلها یا یک یا چند فایل با پسوندی خاص
  • انتقال صفحات به صفحه ای خاص
  • معرفی یک Default Document در پوشه ای خاص
  •  تنظیم Default Charset

تنظیماتی که در فایل htaccess. قرار داده می شود بر روی پوشه جاری و زیر پوشه های آن اعمال می گردد و با قرار دادن یک فایل htaccess. دیگر در زیر پوشه ای خاص تنظیمات پوشه والد نقض می شود.

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

به عنوان مثال با تنظیمات فایل htaccess برای افزایش امنیت می توانید ریدایرکت ها را مدیریت کرده یا دسترسی خارجی و غیرمجاز به فایل های مهم را ممنوع کنید . کارهای پیچیده تر مثل اضافه کردن پسورد به پوشه ها یا جلوگیری از قرار دادن تصاویر سایت شما در وب سایت های دیگر نیز از طریق ویرایش فایل htaccess. امکان پذیر است .

در این مقاله به صورت جامع و کامل نحوه تنظیمات فایل htaccess برای افزایش امنیت را بررسی می کنیم.

فایل htaccess. چیست و در کجا قرار دارد ؟

به منظور تنظیمات فایل htaccess برای افزایش امنیت در وردپرس، ابتدا باید به این فایل دسترسی پیدا کنید. این فایل در همان پوشه public_html یا پوشه روت سرور سایت شما قرار دارد.

نقطه موجود در ابتدای نام این فایل، نشان دهنده این موضوع است که این فایل در حالت معمولی مخفی است و تنها زمانی قادر به مشاهده و ویرایش اطلاعات آن هستید که گزینه نمایش دادن فایل های مخفی را فعال کرده باشید.

وردپرس به صورت پیشفرض از این فایل برای مشخص کردن پیوندهای یکتا سایت شما استفاده می کند و استفاده خاص دیگری از آن ندارد.

چگونه فایل htaccess. را ایجاد کنید؟

ممکن است شما داخل کنترل پنل هاست خود فایل htaccess. را نداشته باشید. در وردپرس ، این فایل با فعال بودن و ویرایش تنظیمات مربوط به پیوندهای یکتا به صورت خودکار اضافه می شود . برای انجام این کار باید در پیشخوان وردپرس به قسمت تنظیمات » پیوندهای یکتا مراجعه کنید.تنظیمات فایل htaccess برای افزایش امنیت

حال باید یکی از مواردی را که مد نظر می باشد را کلیک کنید و تنظیمات را ذخیره نمایید. به این شیوه فایل htaccess. در دایرکتوری روت سایت شما ایجاد می شود.

روش دیگری که برای ایجاد فایل htaccess. وجود دارد به این صورت است که یک ویرایشگر متنی مانند notepad را باز کنید و محتوای فایل htaccess. را داخل آن وارد کرده و با نام htaccess. آن را ذخیره کنید. سپس این فایل را از طریق کنترل پنل هاست یا FTP client به سرور خود آپلود کنید.

چگونه فایل htaccess. را ویرایش کنید؟

در صورتیکه کنترل پنل هاست شما  cpanel باشد، این کنترل پنل به صورت پیش فرض فایل های مخفی را نمایش نمی دهد، بنابراین جهت نمایش فایل های مخفی بصورت زیر اقدام نمایید:

در پوشه File Manager در گوشه بالا سمت راست صفحه بر روی دکمه Settings کلیک کنید تا پنجره پاپ آپ مربوط به تنظیمات فایل منیجر نمایش داده شود.

در پنجره پاپ آپ باز شده تیک گزینه Show Hidden Files را بزنید و روی save کلیک کنید.تنظیمات فایل htaccess برای افزایش امنیت

 پس از ذخیره می‌توانید وارد پوشه  public_html شوید و فایل htaccess. را مشاهده نمایید. با راست کلیک کردن بر روی فایل htaccess. می توانید آن را ویرایش کنید.

روش دیگری که برای ویرایش فایل htaccess. وجود دارد از طریق افزونه های وردپرس است. افزونه هایی در وردپرس وجود دارد که می توان از آنها برای ویرایش فایل htaccess. از پیشخوان وردپرس استفاده کرد.

WP Htaccess Editor بهترین افزونه برای ویرایش htaccess. از پیشخوان وردپرس است. ویژگی عالی این افزونه این است که در صورت ایجاد مشکل، به شما این امکان را می دهد که یک نسخه پشتیبان را بازگردانی کنید. این افزونه رایگان است و میتوانید آن را از مخزن وردپرس دانلود کنید.

افزونه دیگری که قابلیت ویرایش htaccess. را دارد Yoast SEO است. Yoast SEO مشهورترین افزونه SEO وردپرس است. برای استفاده از این قابلیت افزونه Yoast SEO باید نسخه پرمیوم آن را داشته باشید. سپس در منوی اصلی به قسمت tools و File Editor بروید.

محتویات فایل htaccess. به صورت پیش فرض چیست؟

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

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

به این نکته توجه داشته باشید که خط هایی که در اول آن ها # قرار گرفته است همانند خط اول و آخر، بصورت کامنت میباشند و برای ارائه توضیحاتی راجع به آن کد آورده می شوند. این خط ها اصلا اجرا نمی شوند و اگر پاک شوند در روند اجرای کد تاثیری نخواهند داشت.

تنظیمات فایل htaccess برای افزایش امنیت ، یکی از مهم ترین بخش ها برای ایجاد تغییرات در سرور سایت مخصوصاً در بحث امنیت است.

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

نحوه تنظیمات فایل htaccess برای افزایش امنیت

۱-  جلوگیری از دسترسی به فایل های مهم

فایل  wp-config.phpبرای اعمال کانفیگ بر روی وردپرس میباشد و مهم ترین اطلاعات سایت مانند اطلاعات دیتابیس سایت در آن قرار دارد و اگر شخصی به آن دسترسی پیدا بکند میتواند سایت شما را براحتی هک کند.

به منظور تنظیمات فایل htaccess برای افزایش امنیت، می توان این فایل و فایل های مهم دیگر مانند php.ini و نیز خود htaccess. را از دسترس خارج نمود.

 کد زیر را در فایل htaccess. وارد کنید. با اعمال این کد اجازه دسترسی به فایل های مهم را می بندید.

    <FilesMatch "^.*(error_log|wp-config\.php|php.ini|\.[hH][tT][aApP].*)$">
    Order deny,allow
    Deny from all
    </FilesMatch>

در صورت لزوم نام فایل php.ini را درست کنید (ممکن است php5.ini یا php7.ini باشد). اطمینان حاصل کنید که کدها را خارج #BEGIN WordPress و #END WordPress قرار می دهید. هر کدی داخل این فضا توسط وردپرس ویرایش می شود و ممکن است تغییرات شما اعمال نشود.

اگر می خواهید فقط مدیریت سایت به فایل wp-config.php دسترسی داشته باشد. کافی است کد زیر را وارد کنید.

# Protects wp-config
<Files wp-config.php>
Order Allow,Deny
 Allow from xx.xx.xx.xxx
Deny from all
</Files>

در کد بالا، خط Allow from xx.xx.xx.xxx  به جای xx.xx.xx.xxx آدرس IP خودتان را وارد بکنید و محتویات فایل htaccess. در وردپرس را بروز کنید.

۲-  جلوگیری از دسترسی به فایل های PHP

 شما می توانید با اعمال کد زیر، دیگران را از دسترسی به فایل های PHP و تزریق بدافزارها به آنها دور کنید.

    RewriteCond %{REQUEST_URI} !^/wp-content/plugins/file/to/exclude\.php
    RewriteCond %{REQUEST_URI} !^/wp-content/plugins/directory/to/exclude/
    RewriteRule wp-content/plugins/(.*\.php)$ - [R=404,L]
    RewriteCond %{REQUEST_URI} !^/wp-content/themes/file/to/exclude\.php
    RewriteCond %{REQUEST_URI} !^/wp-content/themes/directory/to/exclude/
    RewriteRule wp-content/themes/(.*\.php)$ - [R=404,L]

۳-  جلوگیری از  اجرا شدن فایل های PHP

یکی از مکانهایی که هکرها برای آپلود بدافزارها از آن استفاده می کنند، wp-content/uploads است. برای جلوگیری از اجرای کدهای بد در صورت هک، از این قطعه کد استفاده کنید:

    <Directory "/var/www/wp-content/uploads/">
    <Files "*.php">
    Order Deny,Allow
    Deny from All
    </Files>
    </Directory>

۴- غیرفعال کردن تزریق کدهای مخرب

از قطعه کد زیر برای جلوگیری از تزریق کدهای مخرب توسط هکرها در داخل فایل های PHP موجود خود استفاده کنید.

    Options +FollowSymLinks
    RewriteEngine On
    RewriteCond %{QUERY_STRING} (<|%3C).*script.*(>|%3E) [NC,OR]
    RewriteCond %{QUERY_STRING} GLOBALS(=|[|%[0-9A-Z]{0,2}) [OR]
    RewriteCond %{QUERY_STRING} _REQUEST(=|[|%[0-9A-Z]{0,2})
    RewriteRule ^(.*)$ index.php [F,L]

۵- افزایش امنیت پوشه wp-includes

پوشه wp-includes محل فایل های هسته وردپرس است که هیچ کاربری نیازی به دسترسی به این پوشه ندارد. برای اینکه مطمئن شوید که این اتفاق نمی افتد، از قطعه کد زیر استفاده کنید.

    <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>

نگران فایل های قالب و افزونه های سایت خود نباشید. این فایل ها در محل دیگری قرار دارند.

۶- ایجاد محدودیت در دسترسی به بخش مدیریت وردپرس

به منظور تنظیمات فایل htaccess. برای افزایش امنیت می توانید دسترسی به صفحه لاگین وردپرس خود را محدود به IP های خاصی کنید. این کار مخصوص کسانی است که از آی پی ثابت استفاده می کنند. برای انجام آن کد زیر را در فایل htaccess. کپی و پیست کنید.

    ErrorDocument 401 default
    ErrorDocument 403 default
    <Files wp-login.php>
    Order deny,allow
    Deny from all
    Allow from 198.101.159.98
    </Files>

آدرسهای IP که در کد بالا به عنوان نمونه قرار داده شده است را با آدرس های مدنظر خودتان عوض کنید. می توانید آدرسهای دیگری را با کپی و پیست کردن خط Allow from … اضافه کنید. هرکس غیر از آدرسهای IP مشخص شده در این کد به صفحه ارور ارجاع داده می شود.

۷-  قفل کردن بعضی از آدرسهای IP

به همین روش می توانید بعضی از آدرسهای IP که سعی دارند کارهای خرابکارانه در سایت شما انجام دهند، بلاک کنید. اگر متوجه همچین چیزی شدید (به عنوان مثال از لاگ های سرور) با اضافه کردن کد زیر به فایل htaccess. می توانید آنها را بلاک کنید. آدرسهای IP که در کد زیر به عنوان نمونه قرار داده شده است را با آدرس های مدنظر خودتان عوض کنید.

    order allow,deny
    deny from 456.123.8.9
    allow from all

۸-  جلوگیری از نمایش پوشه ها (Directory Browsing)

به صورت پیش فرض همه بازدیدکنندگان می توانند پوشه های هر سایت وردپرسی را بررسی کرده و فایل های آن را مشاهده کنند. کافی است وارد آدرس your-site.com/wp-content/uploads شوند. لیست کاملی از فایل ها و پوشه های شما در آنجا قابل مشاهده است.تنظیمات فایل htaccess برای افزایش امنیتاگرچه این مشاهدات امکان ایجاد تغییری را برای هکرها به وجود نمی آورد اما دانستن ساختار سایت شما به آنها کمک می کند. برای غیرفعال کردن این دسترسی کد زیر رادر فایل haccess. وارد کنید.

Options All -Indexes

 ۹-  افزایش امنیت پوشه wp-includes

پوشه wp-includes مکان قرارگیری فایل های مهم وردپرس است . با جلوگیری از دسترسی های غیرمجاز به این پوشه ، می توانید جلوی سو استفاده های احتمالی از محتویات آن را بگیرید .

برای افزایش امنیت پوشه wp-includes کد زیر را در فایل htaccess. قرار دهید .

<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>

۱۰- تنظیمات فایل htaccess برای افزایش امنیت و جلوگیری از مشاهده اطلاعات کاربران با ID

وقتی یک بازدیدکننده وارد آدرس your-site.com/?author=1 سایت شما شود ، به صفحه اطلاعات و نوشته های کاربری که دارای شناسه کاربری یا ID ۱ است منتقل می شود . این صفحه شامل نام کاربری است که کاربر با آی دی ۱ دارد .

بازدیدکننده با این روش به راحتی می تواند نام کاربری کلیه کاربرهای سایت شما را پیدا کند . این روش با عنوان username enumeration شناسایی می شود .

اگر هکر نام کاربری کاربران سایت را پیدا کند، تنها مورد دیگری که نیاز است پیدا کند، رمز عبور است .

با قرار دادن کد زیر در فایل htaccess. ، می توانید جلوی مشاهده اطلاعات کاربران با آی دی آن ها را بگیرید.

RewriteCond %{QUERY_STRING} author=d
RewriteRule ^ /? [L,R=301]

۱۱- تنظیمات فایل htaccess برای افزایش امنیت با الزامی کردن SSL

با استفاده از کد زیر در صورتی که کاربر آدرس سایت را وارد کند به صورت خودکار به برگه دارای گواهی SSL منتقل می شود.

SSLOptions +StrictRequire
SSLRequireSSL
SSLRequire %{HTTP_HOST} eq "www.you-site.com"
ErrorDocument 403 https://www.your-site.com

فراموش نکنید که مقادیر www.your-site.com موجود در کد بالا را با آدرس خود جایگزین کنید .

۱۲-  جلوگیری از قرار دادن تصاویر سایت شما در سایت های دیگر (Image Hot Linking)

وقتی یک بازدیدکننده آدرس تصویر شما را کپی کرده و به جای آپلود آن در سایت خود ، از آن استفاده می کند در واقع از پهنای باند شما سواستفاده می نماید . به این حالت hot linking می گویند. برای جلوگیری از این مورد ، کد زیر را در فایل htaccess. قرار دهید.

RewriteEngine On RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} 
!^http://(www.)?your-site.com/.*$ [NC] RewriteRule .(gif|jpg)$ 
http://www.your-site.com/hotlink.gif [R,L]

قسمت your-site.com در خط ۲ را با آدرس سایت خود جایگزین کنید . همچنین مقدار http://www.your-site.com/hotlink.gif موجود در خط ۳ را با آدرس تصویری که می خواهید از آن محافظت نمایید جایگزین کنید .

۱۳-  جلوگیری از دزدیده شدن فایل های زبان قالب ها و افزونه ها

برای این کار کافی است کد زیر را در فایل htaccess. قرار دهید. با این کار کلیه دسترسی های خارجی و غیر مجاز به فایل های زبان پوسته ها و افزونه ها ممنوع می شود.

<Files *.po>
deny from all
</Files>
<Files *.mo>
deny from all
</Files>

امیدواریم این آموزش به شما کمک کرده باشد که تنظیمات فایل htaccess برای افزایش امنیت در سایت وردپرسی خود را انجام دهید. آیا کدهای دیگری سراغ دارید که در تنظیمات فایل htaccess برای افزایش امنیت آن را به کار برده باشید ؟ تا چه حد برای برقراری امنیت به شما کمک کرده است؟دیدکاه های خود را با ما در میان بگذارید.

درباره ی مینا قدسی

مطلب پیشنهادی

بهترین افزونه های CRM وردپرس

بهترین افزونه های CRM وردپرس برای بهبود کسب و کارهای آنلاین سال 2019

در این مقاله بهترین افزونه های CRM وردپرس برای مدیریت بهتر ارتباط با مشتری و …

پاسخی بگذارید

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