به نام خدا با بخش دوم از آموزش کار با htaccess در خدمتتون هستم. نمایش محتوای یک پوشه به صورت خودکار : کارهایی که تا اینجا انجام دادیم بیشتر سطحی بودند. اما در اینجا چیز جالب تری را یا خواهیم گرفت! اگر دیده باشید برخی از وب سایتها در برخی شرایط به شما اجازه میدهند تا در صورت وارد کردن آدرس یک پوشه، محتویات داخل آن را کاملا ببینید.

انجام این کار در صورتی ممکن است که فایل mod_autoindex.c روی وب سرور شما نصب شده باشد. در این صورت میتوانید با استفاده از کد زیر قابلیت مشاهده کامل محتویات یک پوشه بر روی وب سرور را به کارارن بدهید:

 

البته میتوانید این کار را مشخص کردن برخی پارامترها نیز صورت دهید. مثلا تعیین اندازه آیکونها و طول نام آیتم ها و …

 

مثلا :

 

ایندکس فایلهای سفارشی برای پوشه ها

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

مثلا زمانی که کاربری آدرس www.yoursite.com/foo/ را وارد میکند، آپاچی به طور پیش فرض صفحه www.yoursite.com/foo/index.php را بارگذاری خواهد کرد.

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

دقت کنید که در این مثال وب سرور آپاچی اول بدنبال فایل index.html میگردد. در صروتی که یافت شود آن را نمایش خواهد داد اما در صورتی که این فایل را پیدا نکند بدنبال فایلهای دیگر خواهد رفت.

حفظ پهنا باند به کمک .htaccess

در صورتی که شما برای میزان پهنا باند وب سایت خود هزینه میپردازید ( که قطعا چنین است!)، این کد کوچک زیر در فایل .htaccess میتواند در نگهداری از پول نقد شما به کمکتان بیاید!

آنچه که این کد انجام میدهد این است که قابلیت ذاتی PHP را در فشرده سازی zlip فعال میکند. این کار موجب میشود صفحاتی که قرار است به سمت کلاینت ارسال گردند ابتدا فشرده سازی شده و سپس ارسال میشوند و در سوی کلاینت، مرورگر آنها را از حالت فشرده خارج کرده و نمایش میدهد. بنابراین حجم داده های کمتری منتقل شده است و این خود در حفظ پهنا باند بسیار موثر است.

مخفی کردن فایلها

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

اغلب سرورها در پیکربندی اصلی خود دارای چیزی شبیه به این هستند:

 

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

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

به مثال زیر دقت کنید:

 

 

 

این مثال به سرور میفهماند که فایلهای *.log را در نظر نگیرد. البته شما میتوانید چندین نام فایل را مشخص کنید به شرطی که آنها را با کاراکتر ” | ” از همدیگر جدا نمایید. نکته این که تعداد بلوکهای کد بالا در یک فایل .htaccess میتواند بیشتر از یک مورد باشد. بناربراین الزامی به نوشتن همه فایلها در یک بلوک کد ندارید.

مثلا میتوانید این بلوکهای کد را در نظر بگیرید:

این کدها همه فایلهای ._*resource و .DS و *.log و *.comment و در نهایت .ht* را مخفی میکنند.

 

استفاده از <FilesMatch>

امروزه استفاده از <FilesMatch> بر استفاده از <Files> ترجیح داده میشود چرا که شما میتوانید به کمک آن از عبارات منظم ( Regular expressions ) نیز در آن استفاده نمایید و کد بسیار زیبا و خواناتری را فراهم نمایید. مثلا به کد زیر دقت نمایید که برای فایلهای استایل که توسط PHP تولید میشوند نوشته شده است:

 

پس از نوشتن این کد هر فایلی که با عبارت منظم مذکور در کد همخوانی داشته باشد – که در اینجا فایلهای *.css و *.style هستند – اکنون توسط php مدیریت میشوند، به جای اینکه تنها توسط آپاچی درنظر گرفته شوند. شما میتوانید کلیه کدهایی که در آنها از <Files> استفاده کرده اید را با <FilesMatch> تغییر دهید و از مزایای آن بهره‌ مند گردید.

 

نویسنده : محمد ورمزیار
ایمیل نویسنده : info@OSLearn.ir
منبع : وب سایت او اس لرن – http://oslearn.ir
از مطالب وب سایت راضی هستید ؟ رضایت خودتون رو با دونیت به ما اعلام کنید. لطفا برای دونیت روی آیکون زیر کلیک کنید.
حمایت مالی

درباره نویسنده :

محمد ورمزیار هستم معروف به N3td3v!l ، دانشجوی کارشناسی ارشد فناوری اطلاعات ، از سال 2006 تا به حال در حوزه لینوکس و شبکه تحت عنوان هک و امنیت فعالیت میکنم ، اهل تهرانم ، دارای مدارک و تجربه در زمینه های CEH ، Security ، CCNA routing ، LPIC ، RHCE ، unix & BSD ، ISMS و علاقه شدیدی به کار روی مباحث جدید توی حوزه لینوکس و یونیکس دارم .

تمام پست های من - وب سایت من