آموزش

آموزش htaccess

در این مقاله به آموزش کامل htaccess ld پردازیم و توضیح می دهیم که چطور با استفاده از ثبت دستوراتی در این فایل، می توانید به وب سرور خود دستور دهید اقداماتی برای شما انجام دهد

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

آموزش کار با Htaccess می تواند برای مواردی مثل: بهینه سازی برای موتور های جستجو، ریدایرکت آدرس های url و هنگام استفاده از گواهینامه های امنیتی SSL، بسیار کاربردی باشد

فایل htaccess یا Hypertext Access (اچ تی اکسز) یک فایل متنی با قابلیت کنترل صفحات وب می باشد نقطه “.” شروع و در وب سرور آپاچی فقط قابل اجراست.

پیشنهاد ما: آموزش WHMCS

نکات مقدماتی آموزش htaccess

htaccess زبان ارتباطی سایت با وب سرور می باشد و یادگیری آن یک ضرورت غیرقابل انکار است. با استفاده از این فایل، شما می‌توانید برای سرور سایت خود قوانین تعیین کنید و تمام فایل‌ها و دایرکتوری‌ های سایت را کنترل کنید.برای بدست آوردن اطلاعات بیشتر درباره این فایل مقاله «htaccess چیست» منبع مناسبی می باشد.

htaccess  به طور پیش فرض و مخفیانه در فایل public_html در هاست قرار دارد.برای راهنمایی درباره خارج کردن این فایل از حالت مخفی مقاله «نمایش فایل مخفی در هاست» راهنمای شما خواهد بود

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

آموزش htaccess برای افزایش امنیت

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

بلاک کردن دسترسی برخی IP ها به سایت

اگر بخواهید جلوی دسترسی یک IP مشخص یا یک رنج IP (محدوده ای از IP های مختلف) به سایت خود را بگیرید، یکی از روش های این کار، درج چند خط دستور ساده در فایل htaccess است.

برای اینکه جلوی دسترسی محدوده ای از IP ها را بگیرید کافی است دستوری مثل دستور زیر را وارد کنید:

order allow,deny
deny from 255.0.0.0
deny from 123.45.6.
allow from all

(محدوده IP ها را طبق نظر خود تعیین کنید، IPهای درج شده در این قسمت آزمایشی هستند)

دستور بالا به وب سرور آپاچی می گوید IP ها در محدوده تعیین شده را ممنوع الورود کند! اگر دقت کنید، در خط سوم، بخش چهارم IP (بعد از عدد ۶) نوشته نشده؛ این نشان می دهد که تمام IP  های این رنج باید بلاک شوند.

پیشنهاد ما : آموزش Zone Editor

بلاک کردن همه IP ها به جز خودتان

گاهی اوقات برای انجام ویرایش هایی در سایت، لازم است دسترسی همه به جز مدیر سایت قطع شود. در این صورت، همه بازدیدکنندگان با خطای عدم دسترسی ۴۰۳ مواجه خواهند شد و تنها مدیر سایت که IP آن در دستور درج می شود به سایت دسترسی دارید.

برای این کار دستور زیر را به فایل htaccess سایت خود اضافه کنید:

order allow,deny
allow from 255.0.0.0
deny from all

فراموش نکنید به جای ۲۵۵.۰.۰.۰ باید آدرس IP خود را بنویسید.

بلاک کردن مرورگر آفلاین و ربات های مخرب

مرورگر آفلاین (Offline browser) نرم  افزاری است که تمام لینک های بخش های مشخصی از سایت را یکباره دانلود می کند، تا کاربر نیاز نداشته باشد برای مطالعه مطالب سایت شما، مجددا آنلاین شود. این برنامه به تنهایی مخرب نیست و هیچ آسیبی به سایت شما نمی رساند اما اگر بخواهد حجم بالایی از داده های سایت شما را دانلود کند، بخش زیادی از منابع وب سرور را اشغال می کند و پهنای باند زیادی هم مصرف خواهد کرد.

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

برای اینکه جلوی مرورگر آفلاین و ربات های مخرب را بگیرید، دستور زیر را به فایل .htaccess اضافه کنید.

RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} ^BlackWidow [OR]RewriteCond %{HTTP_USER_AGENT} ^Bot\ mailto:craftbot@yahoo.com [OR]RewriteCond %{HTTP_USER_AGENT} ^ChinaClaw [OR]RewriteCond %{HTTP_USER_AGENT} ^Custo [OR]RewriteCond %{HTTP_USER_AGENT} ^DISCo [OR]RewriteCond %{HTTP_USER_AGENT} ^Download\ Demon [OR]RewriteCond %{HTTP_USER_AGENT} ^eCatch [OR]RewriteCond %{HTTP_USER_AGENT} ^EirGrabber [OR]RewriteCond %{HTTP_USER_AGENT} ^EmailSiphon [OR]RewriteCond %{HTTP_USER_AGENT} ^EmailWolf [OR]RewriteCond %{HTTP_USER_AGENT} ^Express\ WebPictures [OR]RewriteCond %{HTTP_USER_AGENT} ^ExtractorPro [OR]RewriteCond %{HTTP_USER_AGENT} ^EyeNetIE [OR]RewriteCond %{HTTP_USER_AGENT} ^FlashGet [OR]RewriteCond %{HTTP_USER_AGENT} ^GetRight [OR]RewriteCond %{HTTP_USER_AGENT} ^GetWeb! [OR]RewriteCond %{HTTP_USER_AGENT} ^Go!Zilla [OR]RewriteCond %{HTTP_USER_AGENT} ^Go-Ahead-Got-It [OR]RewriteCond %{HTTP_USER_AGENT} ^GrabNet [OR]RewriteCond %{HTTP_USER_AGENT} ^Grafula [OR]RewriteCond %{HTTP_USER_AGENT} ^HMView [OR]RewriteCond %{HTTP_USER_AGENT} HTTrack [NC,OR]RewriteCond %{HTTP_USER_AGENT} ^Image\ Stripper [OR]RewriteCond %{HTTP_USER_AGENT} ^Image\ Sucker [OR]RewriteCond %{HTTP_USER_AGENT} Indy\ Library [NC,OR]RewriteCond %{HTTP_USER_AGENT} ^InterGET [OR]RewriteCond %{HTTP_USER_AGENT} ^Internet\ Ninja [OR]RewriteCond %{HTTP_USER_AGENT} ^JetCar [OR]RewriteCond %{HTTP_USER_AGENT} ^JOC\ Web\ Spider [OR]RewriteCond %{HTTP_USER_AGENT} ^larbin [OR]RewriteCond %{HTTP_USER_AGENT} ^LeechFTP [OR]RewriteCond %{HTTP_USER_AGENT} ^Mass\ Downloader [OR]RewriteCond %{HTTP_USER_AGENT} ^MIDown\ tool [OR]RewriteCond %{HTTP_USER_AGENT} ^Mister\ PiX [OR]RewriteCond %{HTTP_USER_AGENT} ^Navroad [OR]RewriteCond %{HTTP_USER_AGENT} ^NearSite [OR]RewriteCond %{HTTP_USER_AGENT} ^NetAnts [OR]RewriteCond %{HTTP_USER_AGENT} ^NetSpider [OR]RewriteCond %{HTTP_USER_AGENT} ^Net\ Vampire [OR]RewriteCond %{HTTP_USER_AGENT} ^NetZIP [OR]RewriteCond %{HTTP_USER_AGENT} ^Octopus [OR]RewriteCond %{HTTP_USER_AGENT} ^Offline\ Explorer [OR]RewriteCond %{HTTP_USER_AGENT} ^Offline\ Navigator [OR]RewriteCond %{HTTP_USER_AGENT} ^PageGrabber [OR]RewriteCond %{HTTP_USER_AGENT} ^Papa\ Foto [OR]RewriteCond %{HTTP_USER_AGENT} ^pavuk [OR]RewriteCond %{HTTP_USER_AGENT} ^pcBrowser [OR]RewriteCond %{HTTP_USER_AGENT} ^RealDownload [OR]RewriteCond %{HTTP_USER_AGENT} ^ReGet [OR]RewriteCond %{HTTP_USER_AGENT} ^SiteSnagger [OR]RewriteCond %{HTTP_USER_AGENT} ^SmartDownload [OR]RewriteCond %{HTTP_USER_AGENT} ^SuperBot [OR]RewriteCond %{HTTP_USER_AGENT} ^SuperHTTP [OR]RewriteCond %{HTTP_USER_AGENT} ^Surfbot [OR]RewriteCond %{HTTP_USER_AGENT} ^tAkeOut [OR]RewriteCond %{HTTP_USER_AGENT} ^Teleport\ Pro [OR]RewriteCond %{HTTP_USER_AGENT} ^VoidEYE [OR]RewriteCond %{HTTP_USER_AGENT} ^Web\ Image\ Collector [OR]RewriteCond %{HTTP_USER_AGENT} ^Web\ Sucker [OR]RewriteCond %{HTTP_USER_AGENT} ^WebAuto [OR]RewriteCond %{HTTP_USER_AGENT} ^WebCopier [OR]RewriteCond %{HTTP_USER_AGENT} ^WebFetch [OR]RewriteCond %{HTTP_USER_AGENT} ^WebGo\ IS [OR]RewriteCond %{HTTP_USER_AGENT} ^WebLeacher [OR]RewriteCond %{HTTP_USER_AGENT} ^WebReaper [OR]RewriteCond %{HTTP_USER_AGENT} ^WebSauger [OR]RewriteCond %{HTTP_USER_AGENT} ^Website\ eXtractor [OR]RewriteCond %{HTTP_USER_AGENT} ^Website\ Quester [OR]RewriteCond %{HTTP_USER_AGENT} ^WebStripper [OR]RewriteCond %{HTTP_USER_AGENT} ^WebWhacker [OR]RewriteCond %{HTTP_USER_AGENT} ^WebZIP [OR]RewriteCond %{HTTP_USER_AGENT} ^Wget [OR]RewriteCond %{HTTP_USER_AGENT} ^Widow [OR]RewriteCond %{HTTP_USER_AGENT} ^WWWOFFLE [OR]RewriteCond %{HTTP_USER_AGENT} ^Xaldon\ WebSpider [OR]RewriteCond %{HTTP_USER_AGENT} ^Zeus
RewriteRule ^.* – [F,L]

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

غیرفعال کردن نمایش دایرکتوری سایت به کمک htaccess

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

IndexIgnore 

نکته مهم: هر فایل htaccess در مسیر اصلی و مسیرهای زیرمجموعه‌اش اجرا می شود، پس اگر بخواهید دستوراتی مثل عدم نمایش یک دایرکتوری خاص را اجرا کنید، می‌توانید در مسیر موردنظر فایل htaccess را  ایجاد نمائید. وجود چندین فایل htaccess در هاست مشکلی ایجاد نخواهد کرد، تنها کافیست دستورات هرکدام از این فایل ها در دایرکتوری زیرمجموعه اعمال شود؛ به طور مثال اگر فایل htaccess در دایرکتوری publich_html قرار گرفته باشد، دستور عدم نمایش دایرکتوری به دلیل اهمیت publich_html موجب بسته شدن کل دایرکتوری ها خواهد شد.

عدم نمایش فایل های خاص در یک دایرکتوری

اگر بخواهید از نمایش فرمت خاصی از فایل ها جلوگیری کنید (مثلاً فقط فایل های zip یا jpeg یا هر چیز دیگری)، باید دستور زیر را وارد کنید:

IndexIgnore *.zip

.zip بیانگر فرمت فایلی است که نباید نمایش داده شود.

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

IndexIgnore *.zip *.jpg *.gif

آموزش دستور نمایش دایرکتوری در htaccess

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

Options +Indexes

آموزش htaccess

جلوگیری از دسترسی به فایل های php includes

اگر در مسیری از هاست خود فایل های php includes دارید و نمی خواهید بازدیدکنندگان مستقیماً از طریق مرورگر به آن ها دسترسی داشته باشند، با ثبت این دستور در یک فایل htaccess و قراردادن آن در دایرکتوری مورد نظر، می توانید این کار را انجام دهید:

## Enable Mod Rewrite, this is only required once in each .htaccess file
RewriteEngine On
RewriteBase /
## Test for access to includes directory
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /includes/ .*$ [NC]## Test that file requested has php extension
RewriteCond %{REQUEST_FILENAME} ^.+\.php$
## Forbid Access
RewriteRule .* – [F,NS,L]

جلوگیری از دسترسی به php.ini و php.cgi

برای جلوگیری از دسترسی افراد متفرقه به این فایل ها کافی است دستور زیر را در یک فایل htaccess  ثبت کنید:

## Enable Mod Rewrite, this is only required once in each .htaccess file
RewriteEngine On
RewriteBase /
## Test for access to includes directory
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /includes/ .*$ [NC]## Test that file requested has php extension
RewriteCond %{REQUEST_FILENAME} ^.+\.php$
## Forbid Access
RewriteRule .* – [F,NS,L]

جلوگیری از ارسال درخواست به سرور با کاراکترهای غیرمجاز

وقتی درخواستی به سرور ارسال می شود که شامل کاراکترهای غیر مجازی مثل علامت های خاص (^&*$) است، ممکن است هدف ارسال کننده درخواست حمله به سایت یا اجرای یک دستور غیرمجاز باشد. برای اینکه از ارسال چنین درخواست هایی به سرور جلوگیری کنید، باید دستور زیر را وارد یک فایل .htaccess کنید:

RewriteEngine On
RewriteBase /
RewriteCond %{THE_REQUEST} !^[A-Z]{3,9}\ [a-zA-Z0-9\.\+_/\-\?\=\&]+\ HTTP/ [NC]RewriteRule .* – [F,NS,L]

آموزش ریدایرکت با htaccess

ریدایرکت (Redirect) به معنای انتقال بازدیدکننده از یک صفحه به صفحه ای دیگر می باشد. این کار به دلایل مختلفی انجام می شود از جمله مهم ترین آن می توان به زمانی اشاره کرد که می خواهیم کاربر را از صفحه قدیمی به صفحه ای جدید منتقل کنیم. توضیحات کامل را می توانید در مقاله «ریدایرکت در وردپرس» مطالعه نمائید.

یکی از روش های این کار ریدایرکت با htaccess است. برای انجام آن باید مثل مراحل قبل یک فایل htaccess بسازید و دستور زیر را در آن وارد کنید:

Redirect /old_dir/ http://www.yourdomain.com/new_dir/index.html

در دستور بالا، به جای old_dir آدرس دایرکتوری قدیمی خود (مبدأ) را بگذارید و به جای عبارت new_dir، آدرس دایرکتوری جدید (مقصد) را. در نوشتن آدرس مبدأ نیازی نیست نام دامنه را بنویسید، اینطور فرض کنید که علامت / به جای نام دامنه شماست.

مثلاً

Redirect /Amoozeshe_htaccess/ http://www.yourdomain.com/Amoozeshe_htaccess_jadid.html

آموزش htaccess

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

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

نکته: ما برای آموزش تغییر و ویرایش فایل ها در هاست، با کنترل پنل cPanel آموزش می دهیم اما این موضوع در دایرکت ادمین، plesk و… تفاوت چندانی ندارد.

آموزش ویرایش فایل در cPanel

برای این کار ابتدا وارد کنترل پنل هاست خود می شویم و از آنجا وارد بخش file manager می شویم

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

آموزش htaccess

می توانید با چپ کلیک آن را Select کنید و از منوی بالا گزینه Edit را بزنید.

آموزش htaccess

فایل در ویرایشگر کنترل پنل باز می شود و آماده است که هر دستوری را در آن وارد کنید یا کدها را تغییر دهید. برای ذخیره تغییرات حتماً باید دکمه Save را بزنید.

آموزش htaccess
تبلیغات

نوشته های مشابه

دیدگاهتان را بنویسید

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

دکمه بازگشت به بالا