زمان مطالعه مقاله : ۷ دقیقه
مقدمه
سلام به همراهان آراز پردازش کیا . امروز با یک مقاله دیگه درباره امنیت در خدمتتون هستم. در ادامه همراه ما باشید.
بیشتر بخوانید:
فایل htaccess. یکی از ابزارهای کاربردی برای سئوی تکنیکال سایت است.
یک فایل پیکربندی است که توسط سرورهای وب مبتنی بر آپاچی مورد استفاده قرار میگیرد.
فایل htaccess. چیست؟
Htaccess کوتاه شده کلمه Hypertext Access می باشد که به معنی دسترسی به ابر متن است.
بسیاری از کارهایی که نیاز به کدنویسیهای پیشرفته دارند، تنها با نوشتن یک خط کد، در این فایل انجام میشوند.
بیشتر هاستینگها از این فایل در وبسرور Apache استفاده میکنند؛ اما خب در وبسرورهای دیگری مثل IIS هم میشود از .htaccess استفاده کرد؛ مثلاً باید افزونه Helicon Ape را روی IIS نصب کنید تا بتوانید از این فایل استفاده کنید.
فایل .htaccess برای چه اهدافی به کار می رود؟
برای موارد بسیاری این فایل استفاده می شود. به طور مثال به چند مورد اشاره می گردد:
- می توانید از سایت خود با یک گذرواژه محافظت کنید.
- همچنین می توانید یک صفحه خطای سفارشی ایجاد کنید.
- و همین طور بازدیدکنندگان را به صفحه دیگری هدایت کنید.
Htaccess یک ابزار بسیار قدرتمند است.برای جلوگیری از این که شما ممکن است به دلایلی سایت خود را به طور اتفاقی خراب کنید، این فایل برخی عملکردهای خاص را از کار انداختهاست.
نحوه دسترسی به فایل htaccess چگونه است؟
این فایل در دایرکتوری public_html هاست دیده میشود. در اغلب سیستمهای مدیریت محتوا، مثل وردپرس و دروپال، فایل htaccess بهصورت خودکار ساخته میشود.
در کنترل پنل هاستتان Cpanel در حالت پیشفرض، فایلهای مخفی را نشان نمیدهد! بنابراین برای نمایش فایل های مخفی، باید اقدامات زیر را انجام دهید:
پوشه File Manager را باز کنید. در گوشه بالا و سمت راست صفحه، روی دکمه Settings کلیک کنید تا پنجره پاپآپ مربوط به تنظیمات فایل منیجر نمایش داده شود.
سپس در پنجرهای که باز میشود، تیک گزینه Show Hidden Files را بزنید و روی Save کلیک کنید.
با اعمال این تغییر، میتوانید وارد پوشه public_html شوید و فایل htaccess را ببینید.
نکته مهم : در سایر کنترل پنلهای هاست هم باید بهدنبال فایلی با نام public_html یا www بگردید. در بیشتر مواقع یک فایل .htaccess در دایرکتوری ریشه اصلی (public_html) و یک پرونده در هر زیرشاخه (/ sitename) وجود دارد.
دستورات قابل استفاده در htaccess
تغییر عنوان و فرمت فایل اصلی index (سایت)
یکی از اصلیترین کاراییهای Htaccess، قابلیت تغییر عنوان و فرمت فایل اصلی سایت است! برای انجام این کار باید از کد دستوری زیر استفاده کنید:
۱
|
DirectoryIndex file.php file.htm
|
جلوگیری از سرقت فایلها و فولدرهای درون هاست
در بیشتر اوقات، اطلاعاتی مثل فایلهای قالب اختصاصی سایت که روی هاست قرار دارند، یا فایلهایی که بهصورت فشرده (zip) در هاست خود ذخیره کردهاید، بهراحتی و فقط با مرور محتویات هاست، توسط سایرین (معمولاً هکرها) کشف و به سرقت میروند! برای جلوگیری از این اتفاق ناگوار، کد زیر رادر انتهای فایل htaccess قرار دهید.
۱
|
Options All –Indexes
|
محدودیت دسترسی با ip های خاص در htaccess
در برخی مواقع، نیاز است که دسترسی یک IP یا رنج مشابهی از آنها را به سایتتان محدود کنید! چراکه ممکن است اسپمرها از یک IP مشخص، با ارسال حجم زیادی از درخواستها، باعث کاهش سرعت بالا آمدن (لود) سایتتان شوند. راه مقابله با این حرکت ناجوانمردانه، مسدود کردن این IPها است که از طریق htaccess و با اجرای کد زیر ممکن میشود.
۱
۲
|
deny from ۱.۲.۳.۴
allow from all
|
در دستور بالا، باید بهجای ۱.۲.۳.۴، IP یا رنج IP موردنظر را اضافه کنید.
همچنین میتوانید از این دستور، برای تامین امنیت دسترسی مدیر سایت هم استفاده کنید. مثلاً وردپرس را درنظر بگیرید. میتوانید در مسیر wp-admin یک فایل htaccess. ایجاد نموده و دسترسی کلیه IPها، غیر از IP ثابت خودتان (در نقش مدیر) را مسدود کنید. به این ترتیب، دسترسی به پنل مدیریت، تنها از سیستم شما امکانپذیر خواهد بود.
افزایش امنیت فایل در htaccess
نیازی نیست هرکسی به هر فایلی دسترسی داشته باشد! سلب دسترسیهای غیرضروری، در محیط htaccess ممکن میشود.
این کار با کد دستوری زیر انجام میشود:
۱
۲
۳
۴
۵
۶
۷
|
<files wp–config.php>
order allow,deny
deny from all
</files>
|
در این دستور، بهجای wp-config.php، باید نام فایل موردنظر را درج نمائید.
محدود کردن نوع فایلهای قابل اجرا و نمایش
یکی از مهمترین اقدامات برای تامین امنیت سایت، محدود کردن انواع فایلهایی است که در آن قابلاجرا هستند؛ یعنی هر فرمتی قابل اجرا نباشد!
این کار با htaccess و کد دستوری زیر انجام میشود:
۱
۲
۳
۴
۵
۶
۷
۸
۹
۱۰
۱۱
|
Options +FollowSymlinks
RewriteEngine On
rewritecond %{REQUEST_FILENAME} !^(.+).css$
rewritecond %{REQUEST_FILENAME} !^(.+).js$
rewritecond %{REQUEST_FILENAME} !file.php$
RewriteRule ^(.+)$ /deny/ [nc]
|
محتویات پیشفرض 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 وجود نداشته باشد یا این کدها از آن حذف شوند، هیچکدام از صفحات داخلی سایتتان باز نخواهند شد و با کد ارور ۴۰۴ مواجه خواهید شد!