برا تو
برا تو

امتیاز موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5

[-]
کلمات کلیدی
htaccess چیست؟

htaccess چیست؟
#1
مروزه در اکثر سیستم های مدیریت محتوا یک فایل با نام .htaccess دیده می شود. این فایل را با نام distributed configuration files می شناسند و در واقع برای کنترل آپاچی هستند که روی یک شاخه و تمام زیر شاخه های آن عمل می کنند.

این فایلها برای کارکرد در کنار فایلهای معمولی HTML یا PHP قرار میگیرن و پسوند اونها فقط .htaccess میتواند باشد.
توجه: با تغییر تنظیمات پیش فرض آپاچی می توان پسوند این فایل را به پسوند دلخواه تغییر داد.

این فایل ها از تگ های مخصوص آپاچی استفاده می کنند و البته CGI script هم می پذیرند.

حال شاید سوال کنید - چه خدمتی به ما در بهینه سازی این ابزار می کند؟

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



یک نکته هست که باید یادآور شوم:
- از آنجا که اکثریت کاربران اینترنت قبل از انجام کارها بر روی سرور، از هاست داخلی/خانگی(Local host) فعالیت می کنند، ویندوز اجازه ایجاد این فایل را به دلیل اینکه بدون نام است را به ما نمی دهد:

$file=».htaccess»; $fp=fopen($file,»w+»); fwrite($fp,»#is here our htaccess»);

راه دوم:
استفاده از Command prompt ویندوز.
C:\>echo testing create .htaccess file > .htaccess

راه سوم:
۱- نت پد رو باز کنید.
۲- File->Save As
3- نام .htaccess وارد کنید.
۴- ذخیره کنید.

توجه: اگر یک حرف یا یک فاصله تغییر کند، باعث دریافت خطای Server error می شود.

کاربرد اول – تغییر صفحات خطا
شما میتوانید صفحات خطای ۴۰۴، خطای ۵۰۰ و … را به دلخواه خودتان طراحی و به این طریق بشناسانید:

ErrorDocument 404 /404.html
ErrorDocument 500 /500.html

کاربرد دوم – مخفی کردن فرمت ها/شناساندن فرمتهای جدید (add mime type)
یک راه امنیتی که من واقعا پیشنهاد میکنم واسه حفاظت از اسکریپت های PHP شما این هست که آنها PHP نباشند!
برای مثال: فایل PHP شما با فرمت ASP باز شود.

AddType application/x-httpd-php .asp .jsp

توضیح: Addtype به ما می گوید که میخواهیم یک فرمت جدید بشناسانیم بعد نوع آن فایل های خاص با فرمت دلخواه خود میگوییم مثلا image/png یا text/css بعد میگوییم که چه فرمتی رو از این به بعد به عنوان نوعی که گفته ایم بشناس
اما فرض کنید میخواهید از shtml/ssl در سایتتون استفاده کنید و نیاز به شناساندن این فرمتها به آپاچی دارید.

AddType text/html .shtml
AddHandler server-parsed .shtml
Options Indexes FollowSymLinks Includes

کاربرد سوم – تغییر index.php/index.html
با کد زیر هم میشود به وب سرور امر کرد که کدام فایل به عنوان صفحه نخست فرستاده شود.

DirectoryIndex homearea.php

کاربرد چهارم – ریدایرکت کردن
استفاده از کد های جاوا یا دیگر کد ها برای ریدایرکت کردن صفحه به مرور زمان جای خود را به دستور زیر داده است.

Redirect /Dirold/old.html
برای مشاهده لینک باید عضو شوید یا وارد شوید


کاربرد پنجم – تأمین امنیت با IndexIgnore
درصد بالایی از هکرها بعد از نفوذ با جستجو کردن در دایرکتوری های وب سایت شما و گشتن به دنبال پوشه ها/فایلها با سطح دسترسی مطلوب کارشان را تکمیل میکنند و البته خیلی ها از اول از روش دید زدن پوشه هایی که حاوی موتور اسکریپت ها و اطلاعات با ارزشی هستن مثلا فایل config را در بردارن به سایت نفوذ میکنند

برنامه نویسان واسه جلوگیری از این امر یک فایل inde.html خالی ایجاد می کنند اما توسط کد زیر می توان یه صفحه مربوط به خالی بودن پوشه را نشان داد یعنی هیچ چیزی در این شاخه نیست در حالی که شاخه میتواند پر از فایل باشد.

IndexIgnore *

اگر بخواهید یک فایل برای مثال: PDF محافظت شود، باید از دستور زیر استفاده کنید.

IndexIgnore application/pdf

کاربرد ششم – زبان پیش فرض (DefaultCharset)
مسلماً از تنظیم کردن زبان وب سایت خود در بخش هدر خسته شده اید! با دستور کوتاه زیر به آپاچی می گوییم که همیشه صفحات را با زبان خاصی ارسال کن.

AddDefaultCharset utf-8

کاربرد هفتم – عدم دسترسی برای همه (deny from all)
این دستور برای محافظت آن دسته از فایل هایی که حاوی اطلاعات محرمانه ای هستند بکار می رود.
برای مثال: فایل هایی که اطلاعات دیتابیس، اطلاعات سیستم در آن ذخیره می شود.

<Directory>
Order Deny,Allow
Deny from All
</Directory>

البته می توان از دستور بالا هم برای محدود کردن یک IP استفاده کرد.

order allow,deny
deny from 123.45.6.7
deny from 012.34.5.
allow from all

کاربرد هشتم – محدود کردن یک عملیات خاص
استفاده از دو دستور زیر برای جلوگیری از هکر های تازه وارد FSOCKOPEN بسیار مؤثر است.

<Limit>
Deny from All
</Limit>

<LimitExcept>
Deny from All
</LimitExcept>

کاربرد نهم – موتور نوشتن مجدد (Rewrite Engine)
نکته: پیش از هرچیزی بررسی کنید که آیا Apache RewriteEngine فعال است یا خیر! اگر دسترسی دارید می توانید در فایل httpd.conf دستور زیر را اضافه کنید.

LoadModule rewrite_module modules/mod_rewrite.so

نکته: در لوکال هاست می توانید با استفاده از جستجو ویندوز همان فایل را پیدا کرده و دستور بالا را اضافه کنید!

این همان چیزی هست که برای زیر مجموعه دامنه (ساب دامین) بکار می رود. با یک مثال توضیح خود را تکمیل می کنم.
برای مثال: شما یک وبلا با آدرس
برای مشاهده لینک باید عضو شوید یا وارد شوید
داشتید. حالا آدرس شما به
برای مشاهده لینک باید عضو شوید یا وارد شوید
تغییر کرده است.

RewriteEngine on
RewriteRule ^blog(/.*)?$ /blog1$1 [R=permanent

توجه: دستور بالا هیچ رابطه ای با ریدایرکت/Redirect ندارد
نظر و اعتبار فراموش نشه Cool
برای تشکر از نویسنده روی سپاس کلیک کنید
پاسخ }}}}


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان