نقطه ویرگول;

هر از گاهی از هر چیزی

هر از گاهی از هر چیزی

دیوار آتش با htaccess - بخش اول

دوشنبه, ۲۵ بهمن ۱۳۸۹، ۱۱:۲۷ ب.ظ
فایل htaccess. در بسیاری از وب سرورهایی که با آپاچی(Apache) کار می کنند، مورد استفاده قرار می گیرد و امکانات بسیاری را بدون تغییر تنظیمات سرور اصلی ایجاد می نماید. آپاچی پس از مشاهده فایل htaccess. آن را اجرا می کند و سپس به تفسیر فایل های اسکریپت موجود در آن پوشه می پردازد. این موضوع امکان ایجاد یک دیوارآتش(Firewall) با درجه ی امنیتی متوسط را فراهم می آورد. در این مقاله به بررسی برخی امکانات امنیتی در این دیوارآتش می پردازیم.

در ابتدا ذکر این نکته ضروری است که سطح دسترسی(Chmod) امن برای فایل htaccess. مقدار 644 و برای فایل htpasswd. مقدار 640 می باشد.

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

  • غیرفعال نمودن لیست کردن پوشه ها
  • محافظت از فایل ها و پوشه ها با رمز عبور
  • ممنوعیت کاربران خاص
  • جلوگیری از Hotlink فایل ها و تصاویر
  • جلوگیری از اجرای انواع اسکریپت
  • جلوگیری از مرورگرهای آفلاین و بوت های مزاحم
  • محافظت از فایل htaccess.
  • جلوگیری از ارجاعات ناخواسته
  • تغییر پسوند فایل ها
  • اجبار به استفاده از اتصال مطمئن (SSL)

غیرفعال نمودن لیست کردن پوشه ها (Directory Listing)

با غیرفعال نمودن لیست کردن پوشه ها، امکان مشاهده ی فایل های موجود در یک پوشه توسط کاربران گرفته می شود. برای این کار، کد زیر را به فایل htaccess. اضافه کنید:
IndexIgnore *

با استفاده از این دستور از لیست کردن کلیه فایل های موجود در پوشه ها، جلوگیری می شود. حرف * در دستور بالا اشاره به همین موضوع دارد.

همچنین شما می توانید تنها لیست کردن برخی فایل ها را غیرفعال کنید:
IndexIgnore *.php *.cgi *.jsp

با این دستور لیست کردن تمام فایل ها به جز فایل هایی که پسوند cgi، php و jsp دارند، صورت می گیرد.

همان طور که می دانید فایل htaccess. پوشه ی حاضر در آن و تمام زیر پوشه ها(subfolders)، را تحت تاثیر قرار می دهد. با توجه با این موضوع، اگر بخواهیم در زیرپوشه ای خاص همچنان لیست کردن فایل ها صورت بگیرد، کافی است کد زیر را در فایل htaccess. موجود در آن زیرپوشه قرار دهیم:
Options +Indexes

علامت مثبت (+) در کد بالا به معنای این است که لیست کردن پوشه ها، در آن پوشه و تمام زیر پوشه های آن انجام می پذیرد، در غیر این صورت می توان از علامت منفی(-) به جای مثبت استفاده کرد تا این قانون تنها برای پوشه ی حاضر اعمال گردد.

آموزش اول از سری دیوار آتش با htaccess. در اینجا به پایان می رسد.
ادامه دارد

موافقین ۰ مخالفین ۰ ۸۹/۱۱/۲۵

نظرات  (۴)

۲۶ بهمن ۸۹ ، ۰۶:۳۹ عبدالماجد
تغییرات این فایل خیلی باید با احتیاط باشه . چون من یه مدت سایتم قاطی کرده بود و با بدبختی نجاتش دادم . بازم ممنون .
۲۶ بهمن ۸۹ ، ۱۰:۱۸ سهیل نوین فرد
بله همین طور است.
اکثرا از این فایل برای SEO و دوباره نویسی آدرس ها استفاده می شود و اگر در عبارت های منظم دقت به عمل نیاید هیچ آدرسی قابل دسترس نیست. همچنین سرورهایی که دچار مشکلات هستند، نمی توانند این فایل را درست اجرا کنند.
خطای 500 (Internal Server Error) خطای رایج در این مواقع است.
پیروز باشید
این فایل رو باید تو سرور تغییر داد یا میشه اینهار در فایلی نوشت و به این نام در پوشه سایت ذخیره کرد؟
این فایل رو می تونید در صورت نبودن در شاخه روت سرور یا هر زیر شاخه دیگه ایجاد کنید، معمولا با انجام تغییرات در این فایل سرور شما از دسترس خارج می شود!
موفق باشید.

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی