0% found this document useful (0 votes)
25 views88 pages

WebSite Security With Htaccess

WebSite.security.with.Htaccess p30download.com

Uploaded by

rahyab
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
25 views88 pages

WebSite Security With Htaccess

WebSite.security.with.Htaccess p30download.com

Uploaded by

rahyab
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 88

‫امنیت وب سایت با‬

Htaccess
‫متوسط‬-‫مقدماتی‬

‫سید سعید حسینی‬

www.esecurity.ir

telegram.me/Esecurity

http://esecurity.ir
‫مقدمه نویسنده‬

‫امروز هیچ تجارتی را نمی توان بدون داشتن یک وب سایت جهت معرفی خود و یا معرفی محصوالت‬
‫و کاالها و یاحتی فروش و در یک عرصه کامال الکترونیکی تجارت الکترونیکی را در نظر گرفت وجود‬
‫بی شمار وب سایت های مختلف که به عر ضه خود در تمامی بخش ها م شغول ه ستندو هر روز با‬
‫تعدادی از این ها در ارتباط هستتتتیب با تمامی این ریشتتترفت ها تعداد زیادی از افرادی که دارای وب‬
‫سایت ه ستند دانش کمی ابتدا در خ صوص طراحی و ایجاد یک وب دارند و ثانیا در حوزه امنیت این‬
‫ف ضا باید گفت بدون دانش ه ستند لذا دا شتن یک سایت ما را مجبور خاهد کرد که به دنیای امنیت را‬
‫بگذاریب ولی به لحاظ تخصصی بودن این حوزه علمی و گستردگی آن ما را بر آن داشت که با دانش‬
‫حداقلی بتوانیب تا حدودی وب سایت خود را امن نماییب کتاب حا ضر به این مو ضوع می رردازد و با‬
‫یادگیری فایل ‪ Htaccess‬که یکی از مهمترین فایلهای موجود در یک وب استتتت بتوانید به امنیت‬
‫دارایی الکترونیکی خود کمک نمایید‬

‫مولف‬
‫سید سعید حسینی‬

‫‪http://esecurity.ir‬‬
‫تقدیم به‬

‫یااباصالح ازررده برون آی که دلب غرق تمناست‬


‫تقصیردلب نیست تماشای توزیباست‪. . .‬‬

‫اللهب عجل لولیک الفرج‪...‬‬

‫‪http://esecurity.ir‬‬
http://esecurity.ir
‫فهرست‬

‫مقدمه ‪7....................................................................................................‬‬
‫تعریف سرور ‪7............................................................................................‬‬
‫انواع وب سرور ‪9........................................................................................‬‬
‫سرورهای اینترنتی ‪9.....................................................................................‬‬
‫انواع حمالت بر روی وب سرورها ‪10................................................................ :‬‬
‫ابزارهای رایج حمله به وب سرور ‪11................................................................ :‬‬
‫آشنایی با وب سرور آپاچی ‪12...........................................................................‬‬
‫وب سرور ‪12.............................................................................................‬‬
‫دلیل استفاده از وب سرور ‪15.............................................................. APACHE‬‬
‫‪ APACHE‬رایگان است‪16............................................................................. .‬‬
‫كد منبع ‪ APACHE‬به رایگان در دسترس است‪16................................................... .‬‬
‫قابلیتهاي وب سرور ‪18................................................................... APACHE‬‬
‫دستیابي به منابع مورد نیاز ‪19..........................................................................‬‬
‫اطمینان از صحت نصب برنامه ‪21......................................................... APACHE‬‬
‫فصل دوم‪22...............................................................................................‬‬
‫پیکربندی ‪22............................................................................... HTACESS‬‬
‫معرفی زبان پیشفرض (‪32............................................... : )DEFAULTCHARSET‬‬
‫تنظیم ‪33................................................................................... TIMEZONE‬‬
‫‪84‬‬ ‫‪HTTP://HTACCESSBUILDER.COM‬‬
‫‪85‬‬ ‫‪HTTP://WWW.HTACCESSREDIRECT.NET‬‬
‫‪86‬‬ ‫‪HTTP://WWW.HTACCESSEDITOR.COM/EN.SHTML‬‬
‫‪86 HTTP://WWW.GENERATEIT.NET/MOD-REWRITE/INDEX.PHP‬‬

‫‪http://esecurity.ir‬‬
‫‪7‬‬ ‫امنیت وب سایت با ‪Htaccess‬‬

‫مقدمه‬

‫استتتفاده از شتتبکههای کامپیوتری در ستتالیان اخیر روندی تصتتاعدی ریدا کرده استتت شتتبکههای‬
‫کامپیوتری‪ ،‬زیر ساخت مناسب برای سازمانها و موسسات را در رابطه با تکنولوژی اطالعات فراهب‬
‫مینمایند مقوله تکنولوژی اطالعات به همان اندازه که جذاب و موثر استتت‪ ،‬در صتتورت عدا رعایت‬
‫اصتتتول امنیت به همان می ان و یا شتتتاید بیشتتتتر‪ ،‬نگران کننده و مستتت له آفرین خواهد بود اغلب‬
‫سازمانهای دولتی و خصوصی در کشور‪ ،‬دارای وب سایت اختصاصی خود در اینترنت میباشند‬
‫سازمانها برای ارائه وب سایت‪ ،‬یا خود امکانات مربوطه را فراهب نموده و با ن صب تجهی ات سخت‬
‫اف اری و تهیه رهنای باند الزا‪ ،‬اقداا به عر ضه سایت خود در اینترنت نمودهاند یا از امکانات مربوط‬
‫به شرکتهای ارائه دهنده خدمات می بانی ا ستفاده مینمایند بدون تردید سرویس دهنده وب یکی از‬
‫مهمترین نرا اف ارهای موجود در دنیای اینترنت محستتتوب میگردد کاربرانی که به ستتتایت یک‬
‫سازمان یا مو س سه مت صل و درخوا ست اطالعاتی را مینمایند‪ ،‬خوا سته آنان در نهایت در اختیار‬
‫سرویس دهنده وب گذا شته می شود سرویس دهنده وب‪ ،‬اولین نقطه ورود اطالعات و آخرین نقطه‬
‫خروج اطالعات از یک ستتایت استتت نصتتب و ریکربندی مناستتب نین نرا اف ار مهمی‪ ،‬بستتیار حائ‬
‫اهمیت بوده و تدابیر امنیتی خاصی را طلب مینماید‬

‫تعریف سرور‬

‫به سرویسگیرندهها و استفاده کنندگان از سرویسها‪ ،‬می بان و به سرویس دهندهها و ارائه کنندگان‬
‫ستترویس‪ ،‬ستترور گفته میشتتود ستترورها بستتته به نوع خدماتی که ارائه میدهند دستتتهبندیهای‬
‫متفاوتی دارند به عنوان مثال‪ ،‬به سرورهای زیر نگاهی بیاندازید‪:‬‬

‫‪Mail Server:‬سروری که به کاربران شبکه خدمات ایمیل را ارائه میدهد‪.‬‬ ‫‪‬‬


‫‪DHCP Server:‬سروری که به کاربران شبکه به طور خودکار آدرس ‪ IP‬میدهد‪.‬‬ ‫‪‬‬
‫‪ DNS Server:‬سروری که امکان تبدیل درخواست کاربران شبکه‪ ،‬را برای دسترسی به‬ ‫‪‬‬
‫ستتایتهای اینترنت‪ ،‬با ارائه آدرس واقعی ستتایت م بور میدهد‪ ،‬بدین ترتیب دیگر نیازی به‬
‫حفظ بودن آدرسهای ‪ IP‬سایتها نخواهد بود‪.‬‬
‫‪8‬‬ ‫امنیت وب سایت با ‪Htaccess‬‬

‫‪Web Server:‬ستتتروری که خد مات ت حت وب را از قب یل می بانی وب و … را ارا ئه‬ ‫‪‬‬


‫میدهد‪.‬‬

‫وب سرور در واقع به دو معنی است‪:‬‬

‫برنامه کامپیوتری که م س ول قبول کردن درخوا ستهای ‪ Http‬از م شتریان ا ست که همان‬ ‫‪‬‬
‫مرورگرهای وب هستند و راسخها را به همراه یک سری اطالعات به آنها رست میکنند این‬
‫راستتتخ ها صتتتف حات ‪ Html‬هستتتت ند بطور م ثال اگر در صتتتف حه مرورگر آدرس‬
‫‪http://piau.ac.ir/index.php‬را وارد کن ید‪ ،‬یک درخواستتتت به دام نهای که نامش‬
‫‪piau.ac.ir‬است‪ ،‬فرستاده میشود آنگاه سرور صفحه ‪ index.php‬را میفرستد‪.‬‬
‫کامپیوتری استتتت که یک برنامهی کامیپوتری را اجرا میکند و کارایی اش همانند مطالبی‬ ‫‪‬‬
‫ا ست که در باال گفته شد هر کامپیوتری میتواند با ن صب نرا اف ار سرور به وب سرور‬
‫تبدیل شود‪.‬‬

‫در عمل بسیاری از وب سرورها‪ ،‬ویژگیهای زیر را نی ریادهسازی میکنند‪:‬‬

‫شناسایی‪ :‬درخواست شناسایی اختیاری قبل از اجازه دسترسی به انواع منابع‬ ‫‪‬‬

‫نه تنها مفاهیب استاتیک (مفاهیب فایلی که بر روی سیستب فایلی وجود دارد) بلکه مفاهیب دینامیک را با‬
‫یک یا ند ستتتاختار مانند ‪ SCGI,FastCGI,JSP,PHP,ASP,ASP.NET ,SSI, CGI‬اداره‬
‫میکند‬

‫رشتتتیبانی از ‪ HTTPS‬تا به کاربران اجازه دهد اتصتتاالت مطم نی به ستترور را بر روی‬ ‫‪‬‬
‫رورت ‪ ۴۴۳‬به جای ‪ ۸۰‬برقرار کنند‪.‬‬
‫فشردهسازی مطالب تا بتوان از حجب راسخها کب کرد( توسط کدسازی‪GZIP ).‬‬ ‫‪‬‬
‫رشتیبانی از فایلهای ب رگ تا بتواند فایلهای ب رگتر از ‪ ۲‬گیگا بایت را سرویسدهی کند‪.‬‬ ‫‪‬‬
‫کنترل کردن رهنای باند‪ :‬تا سرعت را سخها را محدود کند و شبکه را رر ازدحاا نکند و قادر‬ ‫‪‬‬
‫باشد تعداد بیشتری مشتری را سرویس دهی کند‪.‬‬

‫‪http://esecurity.ir‬‬
‫‪9‬‬ ‫امنیت وب سایت با ‪Htaccess‬‬

‫ترجمه مستتیر ‪ :‬وب ستترورها قادرند تا کامپوننت مستتیر ‪ URL‬را به منابع فایل ستتیستتتب‬ ‫‪‬‬
‫محلی (برای درخواستتتهای استتتاتیک) و ناا برنامه داخلی یا خارجی (برای درخواستتتهای‬
‫دینامیک) نگاشت کنند‬

‫درختتتتتواستتتتتتتتت‬ ‫را‬ ‫زیتتتتتر‬ ‫آدرس‬ ‫کتتتتتاربتتتتتر‬ ‫متتتتتثتتتتتال‬ ‫بتتتتترای‬


‫میکند‪ http://www.example.com/path/file.html:‬مرورگر وب کاربر آنرا به یک اتصتتتال به‬
‫تتتتترجتتتتمتتتته‬ ‫‪http‬‬ ‫‪1.1‬‬ ‫درختتتتواستتتتتتتت‬ ‫بتتتتا‬ ‫‪http://www.example.com‬‬
‫میک ند‪ GET/path/file.html.php HTTP/1.1 HOST:http://www.example.com :‬وب‬
‫سرور بر روی ‪ ،http://www.example.com‬مسیر درخواستی را به آدرس مسیر اصلی اضافه‬
‫میکند آنگاه اگر وب سرور فایلی داشته باشد‪ ،‬آن را خوانده و راسخ را که مجموعهای از مطالب فایل‬
‫است به عنوان راسخ میفرستد‬

‫انواع وب سرور‬

‫وب سرور داخلی روی شبکه‪Intranet‬‬ ‫‪‬‬


‫شبکه‪Internet‬‬ ‫روی‬ ‫خارجی‬ ‫سرور‬ ‫وب‬ ‫‪‬‬
‫روی شبکه خصوصی قرار میگیرند‪.‬‬ ‫‪‬‬
‫از اطالعات مختص به شرکت نگهداری میکند‪.‬‬ ‫‪‬‬
‫دسترسی به این سرور فقط از طریق کاربران داخلی است‪.‬‬ ‫‪‬‬
‫روی شبکه عمومی قرار میگیرد‪.‬‬ ‫‪‬‬
‫از اطالعات کاالها‪ ،‬خدمات و تجارت شرکت نگهداری میکند‪.‬‬ ‫‪‬‬
‫دسترسی به این سرور از طریق تماا کاربران امکان رذیر که ریسک باالیی دارد‪.‬‬ ‫‪‬‬

‫سرورهای اینترنتی‬

‫ستتهب استتتفاده بازار‪ ،‬از نرا اف ارهای وب ستترور‪ ،‬در زیر نشتتان داده شتتده استتت که در برآورد‬
‫‪ Netcraft‬در ژانویه ‪ ۲۰۰۹‬منتشر شده است‬

‫‪http://esecurity.ir‬‬
‫‪10‬‬ ‫امنیت وب سایت با ‪Htaccess‬‬

‫جدول ‪ :۱-۰‬سهب استفاده بازار‪ ،‬از نرا اف ارهای وب سرور‬

‫درصد‬ ‫وب سایتهای میزبانی شده‬ ‫نام محصول‬ ‫فروشنده محصول‬

‫‪%۵۲٫۰۵‬‬ ‫‪۹۶،۵۳۱۰۳۳‬‬ ‫سرور آرا ی‬ ‫بنیاد نرم افزار آپاچی‬

‫‪%۳۲٫۹۰‬‬ ‫‪۴۷۴،۰۲۳،۶۱‬‬ ‫‪IIS‬‬ ‫مایکروسافت‬

‫‪%۵٫۳۲‬‬ ‫‪۹،۸۶۴،۳۰۳‬‬ ‫‪GWS‬‬ ‫گوگل‬

‫‪%۱٫۸۷‬‬ ‫‪۳،۴۶۲،۵۵۱‬‬ ‫‪nginx‬‬ ‫‪Nginx‬‬

‫‪%۱٫۶۱‬‬ ‫‪۲،۹۸۹،۴۱۶‬‬ ‫‪lighttpd‬‬ ‫‪Lighttpd‬‬

‫‪%۱٫۰۰‬‬ ‫‪۱،۸۴۷،۰۳۹‬‬ ‫‪Oversee‬‬ ‫‪Oversee‬‬

‫‪%۵٫۲۶‬‬ ‫‪۹،۷۵۶،۶۵۰‬‬ ‫–‬ ‫دیگر‬

‫‪%۱۰۰٫۰۰‬‬ ‫‪۱۸۵،۴۷۴،۴۶۶‬‬ ‫–‬ ‫مجموع‬

‫انواع حمالت بر روی وب سرورها ‪:‬‬

‫حمالت ریمایش روشتته (‪ : )traversal attacks Directory‬این نوع از حمالت باگ های موجود در‬
‫وب سرور را به کار گرفته تا د ستر سی غیرمجاز به فایلها و رو شه هایی که در م سیر عمومی قرار‬
‫ندارند را بکاربگیرند زمانی که هکر دستتترستتی را بدستتت آورد میتواند اطالعات حیاتی را دریافت‬
‫کرده و دستورات دلخواه خود را بر روی وب سرور اجرا کند یا بداف ار نصب کند‬
‫حمالت رد سرویس (‪ : )Service Attacks Denial of‬با ا ستفاده از این نوع حمله و سرور ممکن‬
‫است از سرویس دهی خارج شود و سرویس دهی صورت نپذیرد‬

‫‪http://esecurity.ir‬‬
‫‪11‬‬ ‫امنیت وب سایت با ‪Htaccess‬‬

‫سرقت سی ستب ناا دامنه (‪ : )Name System Hijacking Domain‬با ا ستفاده از این نوع حمله‬
‫اطالعات دی آن اس به نقطهای که هکر میخواهد تغییر یافته در نتیجه همه ترافیکی که بایستتتتی به‬
‫سرور اصلی هدایت شود به سرور هکر هدایت میشود‬
‫شنود (‪ : )Sniffing‬دادههای رم نگاری ن شده بر روی شبکه ممکن ا ست به منظور د ستر سی بدون‬
‫مجوز بکار گرفته شوند و شنود شوند‬
‫فی شینگ (‪ : )Phishing‬این نوع حمله با ایجاد یک صفحه جعلی و هدایت کاربران به صفحه جعلی به‬
‫منظور سرقت اطالعات انجاا میشود‬
‫دیفیس (‪ : )Defacement‬این نوع حمله معموالً توستتط هکرهای خرده را صتتورت میگیرد حمالت‬
‫دیفیس با استتتتفاده از یکی از متدهای ت ریق استتتکیو ال یا دیگر متدهای حمله به منظور قرار دادن‬
‫ام ضای هکر بر روی یکی از صفحات سایت به دالیل شخ صی ‪ ،‬مذهبی و اعتقادی و یا حتی ضربه‬
‫زدن به وجهه اجتماعی سایت هدف صورت میرذیرد‬
‫خوب اکنون که انواع حمالت را شناختید این حمالت توسط ه اب ارهایی صورت می رذیرند ؟‬

‫ابزارهای رایج حمله به وب سرور ‪:‬‬

‫متااسپلوییت (‪ : )Metasploit‬این یک اب ار متن باز میباشد که دارای نسخه تجاری هب میباشد به‬
‫منظور بکارگیری اک سپلوییت های موجود در سمت سرور بکارگرفته می شود این اب ار به صورت‬
‫ریشفرض دارای اکستتپلوییت های زیادی هستتت ولی شتتما در صتتورت تستتلط به زبان روبی قادر به‬
‫نوشتتتن اکستتپلوییت های ستتفارشتتی نی هستتتید متااستتپلوییت در اصتتل اب اری به منظور تستتت‬
‫آسیبرذیری به شمار میرود‬
‫‪ : Mpack‬یک اب ار بکارگیری وب استتت به زبان ‪ PHP‬نوشتتته شتتده استتت و توستتط رایگاه داده‬
‫‪ MySQL‬رشتتتیبانی میشتتود زمانی که وب ستترور توستتط ‪ Mpack‬مورد حمله قرار گرفت همه‬
‫ترافیک آن به سکن سایتهای دانلود مخرب هدایت میشود‬
‫زئوس (‪ : )Zeus‬این اب ار قادر ا ست سی ستب بکارگرفته شده را به یک بوت ‪ ،‬زامبی تبدیل کند بوت‬
‫کامپیوتر هک شده ا ست که به منظور دیگر حمالت اینترنتی از آن ا ستفاده می شود بوتنت مجموعه‬
‫از کامپیوترهای بکارگرفته شتتده استتت بوتنت ها را میتوان در ارستتال ایمیلهای استتپب و حمالت‬
‫داد‬ ‫قتتتتتتتتترار‬ ‫استتتتتتتتتتتتتتتتتتتتتفتتتتتتتتتاده‬ ‫متتتتتتتتتور د‬ ‫‪DOS‬‬
‫‪ : Neosplit‬این اب ار را میتوان به منظور نصب حذف یا کپی برنامهها مورد استفاده قرار داد‬

‫‪http://esecurity.ir‬‬
‫‪12‬‬ ‫امنیت وب سایت با ‪Htaccess‬‬

‫آشنایی با وب سرور آپاچی‬

‫امروزه اطالعات‪ ،‬در دنیای ما نقش بسیار مهمی دارند و بسیاری از این اطالعات توسط اینترنت انتقال‬
‫ریدا میکنند متداولترین رروتکلی که برای انتقال اطالعات از آن استتتفاده می شتتود‪ ،‬رروتکل ‪HTTP‬‬
‫استتت رروتکل ‪ HTTP‬به عنوان رروتکلی ستتریع‪ ،‬قوی و با بار کب بر روی ‪ CPU‬و حافظه ستترور‬
‫طراحی شده ا ست و البته برای جلوگیری از کاهش ریدا کردن کارایی وب بر اثر ا ستفاده ب سیار زیاد‬
‫از این رروتکل‪ ،‬باید کارایی اش را بهینه سازی کرد‬
‫دو استراتژی اصلی برای بهینه سازی کارایی وجود دارد‪:‬‬
‫‪ -۱‬بهینه سازی کارایی وب سرور‬
‫‪ -۲‬بهینه سازی کارایی رروتکل ‪HTTP‬‬

‫وب سرور‬

‫البته یکی از ی هایی که باعث می شود افراد سردرگب شوند حالت طراحی وب و مفهوا وب سرور‬
‫است بیشتر مردا فکر میکنند سرور یک ماشین فی یکی ب رگ مثل سیستب کامپیوتری است که در‬
‫یک اتاق ستترد نگهداری میشتتود و یا حتی مثل ستتیستتتب هکرهاستتت که همه فکر میکنند زیرِ زمین‬
‫هستند‬

‫‪http://esecurity.ir‬‬
‫‪13‬‬ ‫امنیت وب سایت با ‪Htaccess‬‬

‫وب سرور ها کامپیوتر هایی ه ستند که صفحات وب را اماده نمایش می کنند هر وب سرور یک ای‬
‫ری اختصتتاصتتی و دامنه دارد برای مثال زمانی که ادرستتی را در مرورگر تایم می کنید برای مثال‬
‫‪http://www.esecurity.ir/index.html‬درخواستی برای وب سرور فرستاده میشود وب سروری‬
‫که دامنه اش ‪esecurity.ir‬استتت ستتپس ستترور صتتفحه ای به ناا ‪ index.html‬را بازخوانی و به‬
‫مرورگر ار سال می کند هر کامپیوتری با ن صب برنامه سرور و ات صال به اینترنت می تواند یک وب‬
‫ستتترور باشتتتد برنامه های متعددی برای این کار وجود دارد که از معروف ترین ان ها می توان به‬
‫‪NCSA ،Apache‬و ‪ Netscape‬ا شاره نمود وب سرور ها امکان دارد به دالیل متفاوتی کند شوند‬
‫مثال در خواستت های متعددی که در مدت زمان کوتاهی ارستال میشتوند میتوانند وب سترور را کند‬
‫کنند اما با توجه به رردازش ب سیار سریع این وب سرور ها این کند شدن هب معموال به شب کاربر‬
‫نیامده و متوجه ان نمی شود دیتایی که تو سط رردازنده فر ستاده می شود باید در رروتکلی که ‪HTTP‬‬
‫ناا دارد مطابقت داده شود تا از ارتباط سرور ها با یکدیگر اطمینان حاصل گشته و خطایی به وجود‬
‫نیاید وب سرور ها عالوه بر انتشار صفحات وب کارهای دیگری از قبیل دانلود فایل ها از طریق‪،FTP‬‬
‫خدمات مربوط به ار سال ایمیل و را انجاا میدهد برای انتخاب یک وب سرور منا سب باید به گ ینه‬
‫هایی از قبیل گونگی کارکرده ان با بقیه سی ستب عامل ها و سرور ها‪ ،‬قدرت مدیرت برنامه نوی سی‬
‫ان در سمت سرور‪ ،‬ویژگی های امنیتی‪،‬موتورهای ج ست و جوگر‪ ،‬تجهی ات ساختمان سایت و که‬
‫ممکن است نیاز باشد توجه نمود‪.‬‬

‫البته وب سرور نرااف ار هایی مثل آرا ی روی یک سیستب کامپیوتری اختصاص داده شده است که‬
‫میتوانید از ویژگیهای می بانی وب اکثر سی ستب عاملهای ساخته شده مثل ‪ IIS‬ویندوز ا ستفاده‬
‫کنید و ضمناً خوب است بدانید اوبونتو هب یک وب سرور محسوب می شود‬
‫در حقیقت راه اندازی یک وب سرور باعث میشود صفحات وبی که از کامیپوتر های دیگر ارایه شده‪،‬‬
‫آ سانتر و سریعتر باز شوند البته وب سرور جنبه های ریچیدهتری هب دارد‪ ،‬مثل ارائه محتوای رویا‬
‫(داینامیک) با اشتتکال یا محتوای صتتفحاتی که اطالعات ورودی کاربر را می رذیرد‪ ،‬رردازش آنها‪ ،‬و‬
‫حتی ایجاد صفحات سفارشی جدید‬

‫‪http://esecurity.ir‬‬
‫‪14‬‬ ‫امنیت وب سایت با ‪Htaccess‬‬

‫وب سایت های سطح باالتر شما را قادر می سازند با ا ستفاده از نرا اف ار هایی مانند آرا ی‪ ،‬که‬
‫توانایی رردازش ورودی اطالعات کاربران را دارد‪ ،‬به طور خودکار صتتتفحات وب را ایجاد کنید و با‬
‫استفاده از زبان های برنامه نویسی وب مانند ‪ ،PHP‬جاوا و … آن ها را کامل تر سازید‬

‫لینوکس )‪ (Linux‬به ه سته ی سی ستبعاملهای شبه یونیکس میگویند که که در سال ‪ ۱۹۹۱‬تو سط‬
‫لینوس تروالدز توسعه یافت برخی به سیستب عاملهایی که از هسته ی لینوکس استفاده میکنند نی‬
‫لینوکس میگویند (در این دانشتتنامه هب منظور از لینوکس‪ ،‬ستتیستتتب عاملهایی استتت که از هستتته ی‬
‫لینوکس استفاده میکنند‪).‬‬
‫امروزه لینوکس بر روی اکثر اب ار های هوشتتتمند اطراف ما نظیر ستتتاعت های هوشتتتمند‪ ،‬تلفن های‬
‫همراه‪ ،‬تبلت ها‪ ،‬مسیریاب ها‪ ،‬کامپیوتر های خانگی‪ ،‬سرور ها‪ ،‬ابر کامپیوتر ها و استفاده می شود‪.‬‬
‫اکثر توزیع های لینوکس‪ ،‬ب سته کامل ن صبی ‪ LAMP‬را برای ن صب به صورت آماده در خود دارند‬
‫با توجه به بررسی های انجاا گرفته توسط ‪ W3Techs‬در اکتبر سال ‪ 58.5% ،2013‬سهب بازار‬
‫وب سرور ها بین دو توزیع محبوب ‪ Debian‬و ‪ Ubuntu‬تق سیب شده بود‪ ،‬در حالیکه سه توزیع‬
‫‪Fedora ،RHEL‬و ‪ CentOS‬با همدیگر تنها ‪ %37.3‬از سهب بازار را در اختیار داشته اند‪.‬‬
‫نقش وب سرور ‪ LAMP‬را رسماً وب سرور ‪Apache‬‬
‫تی تی ری‬ ‫آرا ی ای فا می کند ستتترویس دهنده ی ا‬
‫آرا ی که بیشتتتتر آن را آرا ی مینامند‪ ،‬یک برنامهی وب‬
‫سرور است که نقش کلیدی در توسعه دنیای وب ایفا میکند و اکثر شرکت های هاستینگ از این وب‬
‫ستترور برای ارائه خدمات می بانی خود استتتفاده می کنند در ستتال ‪ ۲۰۰۹‬آرا ی اولین برنامه ی وب‬
‫سرور بود که حدود ‪ ۱۰۰‬میلیون وب سایت به کمک آن سرویسدهی میکردند آرا ی بهطور معمول‬
‫در محیط های بر رایه یونیکس و لینوکس استفاده میشود‪.‬‬
‫این برنامه تحت مجوز آرا ی بوده و به صورت متنباز )‪ (Open Source‬ا ست و از سال ‪۱۹۹۶‬‬
‫تاکنون ررکاربردترین برنامه در حوزه ی خود است تخمین زده شده است که این وب سرور محبوب‬
‫تا ژوئن سال ‪ 2014‬میالدی بیش از ‪ %52.27‬وب سایت های فعال را رشتیبانی کرده است ‪.‬‬

‫‪http://esecurity.ir‬‬
‫‪15‬‬ ‫امنیت وب سایت با ‪Htaccess‬‬

‫ویژگیهای این برنامه بسیار گسترده است؛ از رشتیبانی زبانهای برنامهنویسی سمت سرور مانند‬
‫‪Python ،Perl ،PHP‬و ‪ TCL‬گرفته تا احراز هویت ‪ TLS‬و ‪SSL.‬‬
‫یکی از کاربردی ترین موارد مربوط به آرا ی وب ستترور برای برنامهنویستتان استتتفاده از ررونده‬
‫فایل ‪ htaccess‬است برنامهنویس میتواند با اعمال تغییراتی در این ررونده که بر هر شاخهای قابل‬
‫اضافه شدن است دستورات ویژه ی آن شاخه را به سرور ارائه دهد برای نمونه اگر بخواهد که در‬
‫صورت وارد کردن نشانی ‪ aa.html‬ناا آن باقی بماند ولی در واقع ررونده ‪main.php?page=bb‬‬
‫اجرا شود بهوسیله ی این ررونده قادر به اعمال دستورش خواهد بود‪.‬‬

‫دلیل استفاده از وب سرور ‪Apache‬‬

‫حقیقت این ا ست که وب سرور ‪ Apache‬به یکی از عوامل موفقیت وب تبدیل شده ا ست با وجودی‬
‫که این ادعا ممکن استت برای عدهای ناخوشتایند باشتد‪ ،‬اما دلیل زیادی برای اثبات این واقعیت وجود‬
‫دارد برر سیهای اخیر حاکی از آن ا ست که بی شترین وب سایتهای موجود در حال حاظر از وب‬
‫سرور ‪ Apache‬به عنوان سرویس دهنده وب استفاده میکنند این دلیل را میتوان علت این موفقیت‬
‫برشمرد‪:‬‬

‫‪ Apache -‬رایگان است‬

‫‪ -‬کد منبع ‪ Apache‬به رایگان در دستتترس استتت ( به این گونه نرااف ارها اصتتطالحاً "کدباز" یا‬
‫‪ open source‬گفته میشود )‬

‫‪ Apache -‬بر روی مجموعهای بسیار متنوعی از سیستبهای عامل قابل استفاده است‬

‫‪ Apache -‬دائماً در حال توسعه و اف ایش قابلیتهای جدید است‬

‫‪http://esecurity.ir‬‬
‫‪16‬‬ ‫امنیت وب سایت با ‪Htaccess‬‬

‫‪ Apache -‬بسیار توانمند بوده و به واسطه طراحی ماجوالر به راحتی قابل توسعه است‬

‫‪ Apache‬رایگان است‪.‬‬

‫وب سرور ‪ Apache‬ضمن برخورداری از ویژگیها و تواناییهای قابل توجه کامالً رایگان ا ست با‬
‫این وجود از آنجا که به واسطه انتشار این وب سرور هیچگونه منفعتی نصیب سازمان توسعه دهنده‬
‫آن یعنی‪ software foundationApache‬نمیشتتود طبیعی استتت که نرااف ار م بور از هیچگنونه‬
‫رشتیبانی فنی از طریق تلفن یا به صورت ‪ online‬که در مورد نرااف ارهای تجاری شاهد آن هستیب‬
‫در رابطه با وب سرور ‪ Apache‬مرسوا نیست‬

‫با این همه مستتتندات بستتیار جامعی از نرااف ار مرود بحث از طریق وب ستتایت مربوطهدر دستتترس‬
‫عالقهمندان قرار دارد‬

‫كد منبع ‪ Apache‬به رایگان در دسترس است‪.‬‬

‫نانچه در برنامهنوی سی تبحر دارید میتوانید کد منبع ‪ Apache‬را آن گونه که مورد نیاز شما ست‬
‫د ستخوش تغییر کنید با این حال بی شتر کاربران با هدف تغییر نحوه عملکرد ‪ Apache‬د ست به این‬
‫اقداا نمیزنند‪ ،‬بلکه صتترفاً نحوه ریکربندی آن را تغییر میدهند‪ ،‬و با کمپایل مجدد که منبع ‪Apache‬‬
‫انتظاراتی که وب سرور دارند‪ ،‬تأمین میکنند از این رودکی در صورتی که به یک وب سرور مختصر‬
‫و ستتبک نیاز دارید میتوانید ‪ Apache‬را به گونهای کمپایل کنید که تنها نیازهای خواستتته شتتده را‬
‫تأمین کند به این ترتیب نانچه با مشتتتکل حادی برخورد کردید یا مایلید تغییراتی را در کد منبع‬
‫‪ Apache‬اعمال کنید میتوانید با برخورداری از دانش برنامهنویسی این کار را انجاا دهید‬
‫‪ Apache‬بر روی مجموعه بسیار متنوعی از سیستبهای عامل قابل استفاده است‬

‫‪http://esecurity.ir‬‬
‫‪17‬‬ ‫امنیت وب سایت با ‪Htaccess‬‬

‫نستتخههای مختلف وب ستترور ‪ Apache‬به منظور بهرهگیری تحت ستتیستتتبهای عامل متداولی از‬
‫جمله این موارد توسعه یافته است‬

‫‪unix -‬‬

‫‪liunx -‬‬

‫‪ -‬ویندوز (شتتتامل نستتتخههایی ‪ x9‬تا ‪ XP‬هر ند که نستتتخهای تحت ‪ NT‬و ‪ 2000‬از قابلیتهای‬
‫بیشتری برخوردارند )‬

‫‪Novell Netware -‬‬

‫‪Mac OSX -‬‬

‫منهای برخی اختالفات ج یی مانند استتتقرار فایلهای وب ستترور ‪ Apache‬در ستتیستتتب فایلعملکرد‬
‫این وب سرور در تمامی محیطهای عامل فوق یکسان است‬
‫‪Apache‬دایماً در حال توسعه و اف ایش قابلیتهای جدید است‬

‫م س ولیت تو سعه و بهبود کارایی وب سرور ‪ Apache‬به عهده سازمان ‪software foundation‬‬
‫یعنی ردید آورنده آن است شگفتانگی است‪ ،‬به طوری که تنها رس از گذشت تنها ند روز اشکاالت‬
‫و شتتکافهای امنیتی یافت شتتده اصتتال میشتتود نکته مذکور ‪ Apache‬را به رایدارترین و در عین‬
‫حال ایمنترین وب ستتترور حال حاضتتتر تبدیل کرده استتتت البته این ویژگی یکی از مهبترین دالیل‬
‫مقبولیت آن است‬

‫م یت دیگری که به واسطه سرعت باالی توسعه و انتشار نسخههای جدید نرااف ار به دست میآید‪،‬‬
‫مجموعهای ارزشمند از قابلیتهاست‪ ،‬که البته وب سرور ‪ Apache‬نی از این قاعده مستثنی نیست‬

‫‪http://esecurity.ir‬‬
‫‪18‬‬ ‫امنیت وب سایت با ‪Htaccess‬‬

‫به این ترتیب تکنولوژی جدیدی که همه روزه در درارتباط با شتتتبکه جهانی اینترنت با آنها مواجه‬
‫می شویب‪ ،‬ریش از هر وب سرور دیگری تو سط ‪ Apache‬ریاده سازی شده و مورد ر شتیبانی قرار‬
‫میگیرند‬

‫قابلیتهای وب سرور ‪Apache‬‬

‫وب ستترور ‪ Apache‬ناا خود را از شتتیوهای که نخشتتتین بار برای توستتعه آن به کار رفت‪ ،‬گرفته‬
‫است اساساً این وب سرور از مجموعهای مؤلفه نرااف اری یا اصطالحاً ‪( patch‬با تلفظ رچ )تشکیل‬
‫شتتده استتت به گونهای که بستتیاری از توستتعه دهندگان برای تاکید این موضتتوع از اصتتطال " ‪a‬‬
‫‪ " patchy server‬با تلفظ "ارچی سرور" به معنی سروری که از مجموعهای مؤلفههای نرااف اری‬
‫ایجاد شده است‪ ،‬استفاده میکردند‬

‫مدتهاست که توسعه وب سرور ‪ Apache‬در قالب قطعات یا ماجولهای نرااف اری مستقل صورت‬
‫میگیرد تو سعه وب سرور ‪ Apache‬بر ا ساس این ماجولا (ا صطالحاً تو سعه "ماجوالر") موجب‬
‫شده که بهرهگیری از ‪ Apache‬به عنوان وب سرور سربار کمتری را به سختاف ار و سیستب عامل‬
‫می بانی که بر روی آن مستقر شده است تحمیل کند‬

‫به بیان بهتر در ا ستفاده از این وب سرور تنها ماجولهای مورد نیاز بر روی سختاف ار و سی ستب‬
‫عامل می بان مستتتقر میشتتوند این ویژگی هب نین روند توستتعه و رشتتتیبانی از ماجولهایی راکه‬
‫شرکت و برنامهنوی سان م ستقل (ا صطالحاً ‪) third parties‬به منظورهای مختلف تو سعه میدهند‪،‬‬
‫تسهیل میکند‬

‫وب ستتترور ‪ Apache‬تقریباً تمامی تکنولوژی اینترنت را که در ارتباط با وب تویعه ریدا کردهاند به‬
‫خوبی مورد ر شتیبانی قرار میدهد این قابلیت حتی شامل برخی تکنولوژیهای اخت صا صی از جمله‬
‫‪ Microsoft Frontpage Extensions‬نی میشتتود وب ستترور ‪ Apache‬تماا مشتتخصتتات‬

‫‪http://esecurity.ir‬‬
‫‪19‬‬ ‫امنیت وب سایت با ‪Htaccess‬‬

‫رروتکل ‪ HTTP‬استتکریپتنویستتی‪ ،‬احراز هویت و قابلیت استتتفاده از ستتایر تکنولوژیها را به خوبی‬


‫مورد رشتیبانی قرار داده است‬
‫دستهای از قابلیتای وب سرور ‪ Apache‬عبارتنداز‪:‬‬

‫‪ -‬رشتیبانی جامع و کامل از رروتکل ‪HTTP‬‬

‫‪ -‬قاژبلیت ریکربندی باال وامنیت قابل مالحظه‬

‫‪ -‬رشتیبانی از ‪PHP‬‬

‫‪ -‬رشتیبانی از ‪ CGI‬و سایر زبانهای اسکریپتنویسی‬

‫دستیابی به منابع مورد نیاز‬

‫هر آنچه که در ارتباط با ن صب وب سرور ‪ Apache‬بدان نیاز دارید از طریق وب سایت ‪Apache‬‬
‫به آدرس ‪ http// www. Apache. Otg‬فابل دستیابی است از طریق این آدرس اینترنتی میتوانید‬
‫کد منبع نستتتخه اجرایی (اصتتتطالحاً ‪ )binaryversion‬وب ستتترور ‪Apache‬را برای محیط عامل‬
‫‪ UNIX‬و ‪ linux‬و همچنین شکل صفحه اصلی وب سایت ‪ Apache‬را نشان میدهد‬

‫نسخههای مختلفی از وب سرور ‪ Apache‬برای بهره برداری تحت نسخههای مختلف سیستب عامل‬
‫‪ Linux‬توستتعه یافته استتت برای مثال کاربارن ستتیستتتب عامل ‪ Redhat Linux‬میتوانند از طریق‬
‫مکانی ا ‪ Redhat package Manager‬یا اصتتتطالحاً ‪ RPM‬وب ستتترور ‪ Apache‬را بر روی‬
‫سیستب خود نصب کنند‬
‫نصب برنامه ‪Apache‬تحت سیستب عامل ‪ Linux‬از طریق کمپایل کد منبع‬

‫‪http://esecurity.ir‬‬
‫‪20‬‬ ‫امنیت وب سایت با ‪Htaccess‬‬

‫نانچه مایل به کمپایل ‪ Apache‬با شید‪ ،‬الزا ا ست ابتدا کد منبع منا سبی رادر اختیار دا شته با شید‬
‫برای شتتتروع فایل مورد نظر را از آدرس مذکور در یک فهرستتتت موقت یادر موقعیت ‪ usr/src/‬از‬
‫سیستب فایب که معموالً برای این منظور ازآن استفاده می شود بارگذاری کنید برای باز کردن آ شیو‬
‫کد منبع (و عموماً هر آر شیو دیگر) رو شهای مختلفی وجود دارد روش مورد ا ستفادهبرای این کار‬
‫به برنامههای نصب شده بر روی کامپیوتر و نوع آرشیوی که بارگداری کردهاید بستگی دارد‬

‫نانچه نسخهای از آرشیو را که با استفاده از برنامه فشرده ساز ‪ gzip‬فشرده شده است‪ ،‬بارگذاری‬
‫کردهاید (در این صتورت فایلی با رستوند ‪ tar.gz‬در اختیار دارید ) ریش از این هر گونه اقدامی برای‬
‫باز کردن آر شیو‪ ،‬الزا ا ست با ا ستفاده از همین برمنامه ف شرده ساز آن را از حالت ف شرده خارج‬
‫سازید فرمان زیر که از فهر ست نژمی بان فایل ‪httpd-2.0. tar. gz‬را به طور توأا انجاا میدهد‬
‫(عالمت ‪ $‬اعالن سیستب عامل ‪ unix‬است )‬

‫‪tra-zxvf httpd-2.0.8.tra.z $‬‬

‫اما اگر ن سخه ای از آر شیو را با ا ستفاده از برنامه ف شرده سازی ‪ bzip‬یا ‪ ( bzip2‬یا ن سخه های‬
‫دیگری از این برنامه ف شرده ساز) ف شرده شده ا ست بارگذاری کرده اید ( در این صورت فایلی با‬
‫رسوند ‪ tar.z‬در اختیار دارید) با صدور فرمان زیر عالوه بر اینکه فایل مورد نظر را از حالت فشرده‬
‫خارج می کنید بلکه آرشیون م بور را نی باز می کنید‪:‬‬

‫‪tar -zxvf httpd-2.0.8.tra.z $‬‬

‫نتیجه اجرای هر دو فرمان مذکور یکستتتان استتتت‪ ،‬به طوری که در نهایت فایل های حاوی کد منبع‬
‫‪ Apache‬در فهرستتت تحت عنوان ‪ httpd-2.0‬مستتتقر می شتتوند که عالمت ستتتاره بیانگر شتتماره‬
‫نسخه ‪ minor‬است‬

‫‪http://esecurity.ir‬‬
‫‪21‬‬ ‫امنیت وب سایت با ‪Htaccess‬‬

‫اطمینان از صحت نصب برنامه ‪Apache‬‬

‫رس از نصب و راه اندازی برنامه ‪ Apache‬به منظور اطمینان از صحت عملیات به سادگی می توانید‬
‫مرورگر اینترنت خود را باز کرده و ناا ماشتتین می بان وب ستترور ‪ Apache‬را در فیلد آدرس آن‬
‫بنویسید بر روی ماشین می بان وب سرور ‪ Apache‬کافی است آدرس زیر را در فیلد آدرس مرور‬
‫گر اینترنت وارد کنید‪:‬‬

‫‪http:// localhost‬‬

‫با این اقداا باید نتیجه ای شتتبیه به شتتکل را مشتتاهده کنید در صتتورتی که با استتتفاده از کامپیوتر‬
‫دیگری به ماشین می بان وب سرور ‪ Apache‬متصل شده اید کافی است عبارت ‪ local host‬را در‬
‫آدرس فوق با ناا کامل آن اصطالحا ‪ fully qualified name‬یا آدرس ‪ IP‬مربوطه جایگ ین کنید‬

‫وب سروری که به در ستی ریکربندی ن شده ا ست می تواند به سرعت به عاملی برای نفوذ به ما شین‬
‫می بان یا حتی شبکه ای که ماشین م بور ر روی آن مستق شده تبدیل شود رس از نصب وب سرور‬
‫بی درنگ آن را متوقف کرد برای متوقف کردن وب سرور کافی است فرمان زیر را صادر کنید‬

‫‪$ usr/sbin/ Apachectl stop‬‬

‫‪http://esecurity.ir‬‬
22 Htaccess ‫امنیت وب سایت با‬

‫فصل دوم‬

Htacess ‫پیکربندی‬

http://esecurity.ir
‫‪23‬‬ ‫امنیت وب سایت با ‪Htaccess‬‬

‫‪ htaccess‬یک فایل ریکر بندی برای وب ستتایت هایی استتت که از ستترور آرا ی استتتفاده می کنند‬
‫وقتی این فایل در یکی از رو شه های وب سایت قرار می گیرد‪ ،‬وب سرور آرا ی برر سی می کند که‬
‫ه د ستوراتی در این فایل وجود دارد و بعد طبق این د ستورات‪ ،‬آن ق سمت از سایت که ‪htaccess‬‬
‫در آن قرار دارد را ریکر بندی می کند این فایل می تواند برای فعال و یا غیر فعال کردن یک سری از‬
‫توابع و ویژگی های وب سرور آرا ی مورد استفاده قرار بگیرد‬
‫فایل ‪ htaccess‬یک فایل ساده اسکی (‪ )ASCII‬میباشد که میتوانید آن را به وسیله نرااف ارهای‬
‫متنی ستتتاده نظیر ‪ Notepad‬و یا ‪ SimpleText‬به وجود آورید دقت داشتتتته باشتتتید که این فایل‬
‫دارای هیچ نامی نمی باشتتد و فقط دارای رستتوند استتت که رستتوند آن‪ htaccess ،‬می باشتتد برای‬
‫درستت کردن این فایل می توانید فایل متنی خود را که مثال به صتورت ‪ test.txt‬می باشتد‪ ،‬تغییر ناا‬
‫داده و آن را به صورت ‪ htaccess‬درآورید‬
‫تذکر‪ :‬اگر از ویندوز استفاده می کنید و هنگاا تغییر ناا دادن فایل به ‪ ،htaccess‬ریغاا خطایی مبنی‬
‫بر اینکه «می بایستتت برای فایل خود نامی را اختیار کنید» دریافت می کنید‪ ،‬فایل را بر روی ستترور‬
‫آرلود کرده و ستتتپس در ستتترور آن را تغییر ناا دهید این کار به وستتتیله نرا اف ارهای ‪ FTP‬نظیر‬
‫‪ CuteFTP‬یا ‪ AbsoluteFTP‬بسیار ساده می باشد‬
‫در هنگاا استفاده از فایل ‪ htaccess‬دانستن هار نکته از اهمیت به س ایی برخوردار است‪:‬‬
‫نکته اول‪ :‬فایل ‪ htaccess‬را می بایست به صورت ‪ ASCII‬آرلود کرده و مجوز دسترسی به آن را‬
‫بر روی ‪( 644‬یا ‪ )–rw-r–r‬تنظیب نمایید‬
‫نکته دوا‪ :‬فایل ‪ htaccess‬را می توانید به رو شه های مختلفی اعمال نمایید به عنوان مثال اگر آن را‬
‫بر روی ‪ root‬آرلود نمایید‪ ،‬تنظیمات آن به کل وب سایت اعمال خواهد شد و اگر آن را درون روشهای‬
‫نظیر ‪ /images‬آرلود نمایید‪ ،‬تنظیمات آن به روشه ‪ images‬و زیرروشه های آن اعمال خواهد شد‬
‫نکته سوا‪ :‬هر ‪ htaccess‬را می بای ست درون یک خط تایم نمایید یعنی در انتهای هر د ستور‪ ،‬می‬
‫بایست یکبار کلید ‪ Enter‬را فشار دهید‬

‫‪http://esecurity.ir‬‬
‫‪24‬‬ ‫امنیت وب سایت با ‪Htaccess‬‬

‫هارا‪ :‬به دل یل آن که نحوه ریکرب ندی این فا یل مان ند ریکرب ندی فا یل اصتتتلی ستتترور‬ ‫نک ته‬
‫(‪)httpd.conf‬ا ست ت صمیمات بر ا ساس شرایط اخذ می شود البته تمامی امکانات ‪ httpd.conf‬را‬
‫شامل نمی شود‬
‫ا ستفاده از این فایل در همه موارد ری شنهاد نمی شود زیرا امنیت وب سرور را تحت شعاع قرار می‬
‫دهد اما در مواقعی که سرور به صورت اشتراکی و اصطالحا ‪ share‬شده خدمت رسانی می کند و‬
‫تعداد زیادی سایت برروی آن قرار دارد ریشنهاد آن است که از فایل ‪ htaccess‬استفاده شود زیرا‬
‫هر سایت باید توانایی ریکر بندی قسمت مربوط به خود را دارا باشد‬
‫دستتتتوراتی که در یک فایل ‪ htaccess‬مورد استتتتفاده قرار می گیرند‪ ،‬شتتتامل فرامینی جهت کنترل‬
‫موارد زیر هستند‪:‬‬

‫ند نکته ‪:‬‬

‫اگر از وب سرور آرا ی برای وب سایت خود ا ستفاده می کنید‪ ،‬دیگر نیازی نی ست برای هر م شکل‬
‫ج ئی و کو ک‪ ،‬با هاستتت تان تماس بگیرید با یادگیری قابلیت های مهب فایل ‪ ،htaccess‬می توانید‬
‫کنترل کامل وبسایت خود را برعهده بگیرید‬

‫در هنگاا استفاده از فایل ‪ ،htaccess‬دانستن سه نکته از اهمیت به س ایی برخوردار است‪:‬‬

‫نکته اول‪ :‬فایل ‪ htaccess‬را میبای ست به صورت ‪ ASCII‬آرلود کرده و مجوز د ستر سی به آن را‬
‫بر روی ‪( 644‬یا ‪ )--rw-r--r‬تنظیب نمایید‬
‫نکته دوا‪ :‬فایل ‪ htaccess‬را می توانید به رو شه های مختلفی اعمال نمایید به عنوان مثال اگر آن را‬
‫بر روی ‪ root‬آرلود نمایید‪ ،‬تنظیمات آن به کل وبسایت اعمال خواهد شد و اگر آن را درون روشهای‬
‫نظیر ‪ /images‬آرلود نمایید‪ ،‬تنظیمات آن به روشه ‪ images‬و زیرروشه های آن اعمال خواهد شد‬

‫‪http://esecurity.ir‬‬
‫‪25‬‬ ‫امنیت وب سایت با ‪Htaccess‬‬

‫نکته ستتتوا‪ :‬هر ‪ htaccess‬را می بایستتتت درون یک خط تایم نمایید یعنی در انتهای هر دستتتتور‪،‬‬
‫میبایست یکبار کلید ‪ Enter‬را فشار دهید‬

‫در میان تعداد زیاد اب ارهای مدیریت وب ستتتایت‪ Htaccess ،‬یکی از مهب ترین آن ها به شتتتما می‬
‫رود که با یک سری تغییرات ساده و د ستورنوی سی ها سریع می توانید د ستر سی به ب سیاری از‬
‫بخش های وب ستتایت خود را تغییر داده‪ ،‬نحوه ی آدرس دهی به آن ها را عوض کنید و بستتیاری از‬
‫کاراهای مفید و جذاب دیگر را روی وب سایت خود ریاده سازی کنید‬

‫و نحوه ی دستورنویسی‬ ‫مهمترین بخش های این فایل‬


‫هر فردی که وب سایت خود را بر روی ‪ Apache‬قرار داده است‪ ،‬مطم نا روزی به یک آموزش کامل‬
‫و جامع در مورد کار با ‪ Htaccess‬ریدا کرده است‬
‫این فایل توانایی کار با هر گونه زبان تحت وب از ‪ PHP‬گرفته تا ‪ Ruby‬را نی دارد‬
‫را از ‪ Htaccess‬استفاده کنیب؟‬
‫این یک سوال مهب ا ست که قبل از شروع کار باید به آن را سخ داد که ممکن ا ست شما بعد از دیدن‬
‫این سوال سریعا بپرسید اصال یک فایل ‪ Htaccess‬یست و ه می کند؟‬
‫و من باید راسخ بدهب که این یک فایل تنظیماتی مهب است که توسط سرور ‪ Apache‬مورد استفاده‬
‫قرار می گیرد و می تواند به وب سرور بگوید که گونه دستورات موجود در ‪ header‬های ‪HTTP‬‬
‫را هندل کند‬
‫ب رگترین دلیل استتتتفاده از این فایل بحث امنیت می باشتتتد؛ شتتتما می توانید با استتتتفاده از فایل‬
‫‪ Htaccess‬روی فایل های خود رستتورد بگذارید‪ ،‬دستتترستتی به آن ها را محدود کنید‪ ،‬کاربر را به‬
‫صفحات ‪ 404‬بفرستید و…‬

‫‪http://esecurity.ir‬‬
‫‪26‬‬ ‫امنیت وب سایت با ‪Htaccess‬‬

‫در شروع باید نحوه د ستر سی به فایل ‪ Htaccess‬را به شما آموزش دهب لذا مراحل زیر را انجاا‬
‫دهید‬

‫وارد سی رنل سایت خود شودید‬


‫‪http:// example.com/cpanel‬‬

‫‪http:// example.com:2082‬‬

‫‪http://esecurity.ir‬‬
27 Htaccess ‫امنیت وب سایت با‬

‫ كلیک نمایید‬File Manager ‫بر روی‬

http://esecurity.ir
‫‪28‬‬ ‫امنیت وب سایت با ‪Htaccess‬‬

‫‪Home Directory‬را انتخاب نموده و بر روی ‪GO‬كلیک نمایید‬

‫‪http://esecurity.ir‬‬
‫‪29‬‬ ‫امنیت وب سایت با ‪Htaccess‬‬

‫‪ Public Html‬را انتخاب نمایید زیرا محل قرارگیری وب سایتها در این دایركتوری می باشد‬

‫‪http://esecurity.ir‬‬
‫‪30‬‬ ‫امنیت وب سایت با ‪Htaccess‬‬

‫انتخاب وب سایتمان و ورود به دایركتوری‬

‫و ایجاد فایل ‪Htaccess.txt‬‬

‫‪http://esecurity.ir‬‬
‫‪31‬‬ ‫امنیت وب سایت با ‪Htaccess‬‬

‫و بعد از كانفیگ و اضاااافه نمودن دسااتورات نام فایل را به ‪ .Htaccess‬تغییر داده چون در‬
‫سیستمهای لینوكسی نقطه قبل از اسم باعث مخفی شدن فایل خواهد شد‪.‬‬

‫و حاال وارد بحث آموزش نحوه ی دستورنویسی در این فایل می شویم‪ ،‬با ما همراه باشید‪:‬‬

‫جلوگیری از دسترسی به فایل ‪htaccess‬‬

‫این کد دسترسی سایر کاربران را به فایل ‪ htaccess‬شما محدود خواهد کرد ‪:‬‬
‫کد‪:‬‬

‫‪secure htaccess file‬‬


‫>‪<Files .htaccess‬‬
‫‪order allow,deny‬‬
‫‪deny from all‬‬
‫>‪</Files‬‬
‫‪prevent viewing of a specific file‬‬
‫>‪<Files secretfile.jpg‬‬
‫‪order allow,deny‬‬
‫‪10deny from all‬‬
‫>‪</Files‬‬
‫‪multiple file types‬‬
‫>‪<FilesMatch ".(htaccess|htpasswd|ini|phps|fla|psd|log|sh"$‬‬

‫‪http://esecurity.ir‬‬
‫‪32‬‬ ‫امنیت وب سایت با ‪Htaccess‬‬

‫‪Order Allow,Deny‬‬
‫‪Deny from all‬‬
‫>‪</FilesMatch‬‬

‫معرفی زبان پیشفرض (‪: )DefaultCharset‬‬

‫برای اینکه زبان ری شفرض ا ستفاده شده رو به مرورگر ها بگین بی شتر وقتها اون رو در ق سمت هدر‬
‫کدهای سایت قرار میدین با دستور کوتاه زیر به آرا ی میگیب که همیشه صفحات را با زبان خاصی‬
‫ارسال کن این عمل برای س و سایت تاثیری خوبی داره‬
‫‪#pass the default character set‬‬
‫‪AddDefaultCharset utf-8‬‬

‫روشن و آماده استفاده كردن ‪: mod_rewrite‬‬

‫‪ mod_rewrite‬را می توانیتتد از درون فتتایتتل ‪ htaccess‬خود اجرا کنیتتد برای اینکتته متتاژول‬
‫‪ mod_rewrite‬را آماده استفاده کنید‬

‫از کد زیر در فایل ‪ htaccess‬ا ستفاده کنید بهترین مکان برای قرار دادن این کد در همان سطر اول‬
‫‪ htaccess‬می باشد‬

‫‪RewriteEngine on‬‬

‫فراموش نکنید که ‪ htaccess‬به ب رگی و کو کی حروف حساس است‬

‫و اینکه این کد را در خط اول همه فایل های ‪ htaccess‬ای که در آن ها از ‪ mod_rewrite‬ا ستفاده‬


‫می کنید قرار دهید‬

‫‪http://esecurity.ir‬‬
‫‪33‬‬ ‫امنیت وب سایت با ‪Htaccess‬‬

‫‪ -‬حالت نمونه کد های ‪mod_rewrite‬‬

‫حالت ساده و نمونه ‪ mod_rewrite‬بصورت زیر است‬

‫[‪]p‬‬
‫])‪RewriteRule Pattern Substitution [Flag(s‬‬
‫[‪]/p‬‬

‫تنظیم ‪Timezone‬‬

‫بعضتی اوقات‪ ،‬شتما از توابع ‪ date‬یا ‪ mktime‬در ‪ PHP‬استتفاده می کنید‪ ،‬ریغاا خنده داری ممکن‬
‫است به شما بدهد این کد راه حل آن است ‪ timezone‬را برای سرور خود ست می کنید لیستی از‬
‫‪ timezone‬ها را می توانید در دیدن لینک ها برای شما امکان رذیر نی ست لطفا ثبت ناا کنید یا وارد‬
‫حساب خود شوید تا بتوانید لینک ها را ببینید‬
‫مشاهده کنید‬
‫کد‪:‬‬
‫‪SetEnv TZ Asia/Tehran‬‬

‫‪SEO Friendly‬‬

‫‪http://esecurity.ir‬‬
‫‪34‬‬ ‫امنیت وب سایت با ‪Htaccess‬‬

‫را ‪ ? SEO Friendly‬این روزها‪ ،‬همه موتورهای جستتتتجوی مدرن قابلیت شتتتناستتتایی ‪301‬‬
‫‪ Permanent Redirect‬ها را دارند‬
‫کد‪:‬‬
‫>‪Redirect 301 <a‬‬
‫>‪href="http://www.datisdesign.com">http://www.datisdesign.com/</a‬‬
‫‪/http://www.datisdesign.com‬‬

‫گذشتن از پیغام دانلود‬


‫کد‪:‬‬
‫‪AddType application/octet-stream .pdf‬‬
‫‪AddType application/octet-stream .zip‬‬
‫‪AddType application/octet-stream .mov‬‬

‫‪Skip WWW‬‬

‫یکی از نکات بهینه سازی برای موتورهای ج ستجو اطمینان از این نکته ا ست که تنها یک آدرس ا ست‬
‫که به وب ستتایت شتتما اشتتاره می کند بنابراین‪ ،‬شتتما نیاز دارید که همه ترافیک ‪ www‬را به ستتمت‬
‫‪ non-www‬ارجاع دهید و یا بالعکس ‪:‬‬
‫کد‪:‬‬
‫}‪RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST‬‬
‫‪^www.datisdesign.com [NC] RewriteRule ^(.*)$ http://datisdesign.com/$1‬‬
‫]‪[L,R=301‬‬

‫‪Cache Files‬‬
‫کش یعنی اینکه یه سری از فایلهای سایت شما که تغییراتی ندارن و یا در فوا صل زمانی زیاد د ار‬
‫تغییرات قرار میگرن مشن رو در یک محفظه به نسبت امن در مرورگر کاربر ذخیره کنیب تا در دفعات‬

‫‪http://esecurity.ir‬‬
35 Htaccess ‫امنیت وب سایت با‬

‫بعدی مراجعه به سایت این فایلها از خود سی ستب اون بارگ اری ب شن و در نهایت سرعت بارگ اری‬
‫سایت خودمون رو ندین ند برابر کنیب‬
‫کدی که در راین قرار دادا کدی هست که من خودا دارا ازش استفاده میکنب و به مرور کامل شده و‬
: ‫شما می تونید از هر بخش اون بنا به نیاز خودتون استفاده کنین‬
#BEGIN Expire headers
<ifModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 1 month"
ExpiresByType image/x-icon "access plus 1 year"
ExpiresByType image/jpeg "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/jpg "access plus 1 month"
ExpiresByType application/x-shockwave-flash "access plus 1 month"
ExpiresByType text/css "access plus 1 month"
ExpiresByType text/javascript "access plus 1 year"
ExpiresByType application/javascript "access plus 1 year"
ExpiresByType application/x-javascript "access plus 1 year"
ExpiresByType text/html "access plus 600 seconds"
ExpiresByType application/xhtml+xml "access plus 600 seconds"
ExpiresByType font/ttf "access plus 1 year"
ExpiresByType font/woff "access plus 1 year"
</ifModule>

#END Expire headers


#BEGIN Cache-Control Headers
>ifModule mod_headers.c<
>"$<filesMatch "\.(ico|jpe?g|png|gif|swf|woff|ttf)
"Header set Cache-Control "max-age=2592000, public
>filesMatch/<
>"$filesMatch "\.(css)<
"Header set Cache-Control "max-age=2592000, public
>filesMatch/<
>"$filesMatch "\.(js)<

http://esecurity.ir
36 Htaccess ‫امنیت وب سایت با‬

"Header set Cache-Control "max-age=2592000, private


>filesMatch/<
>"$filesMatch "\.(x?html?|php)<
"Header set Cache-Control "max-age=600, private, must-revalidate
>filesMatch/<
</ifModule>
#END Cache-Control Headers

#BEGIN Turn ETags Off


<ifModule mod_headers.c>
Header unset ETag
</ifModule>
FileETag None
#END Turn ETags Off

#BEGIN Remove Last-Modified Header


<ifModule mod_headers.c>
Header unset Last-Modified
</ifModule>
#END Remove Last-Modified Header

‫غیرفعال كردن كش برای یکسری از فایلها‬

: ‫برای بعضی از فایلها هب میتوانید کش را غیرفعال کنید‬


:‫کد‬
#explicitly disable caching for scripts and other dynamic files
<filesmatch>Header unset Cache-Control </filesmatch>

http://esecurity.ir
‫‪37‬‬ ‫امنیت وب سایت با ‪Htaccess‬‬

‫یک انتقال ساده‬

‫اگر خوا ستید یه انتقال ساده از یک ‪ url‬به یک ‪ url‬دیگر دا شته با شید می توانید از کد زیر ا ستفاده‬
‫کنید‬

‫[‪]p‬‬
‫‪RewriteRule ^fileone.html$ filetwo.html‬‬
‫]‪]/p‬‬

‫این کد باعث میشتته که اگر ستترور درخواستتتی در مورد بازکردن فایل ‪ fileone.html‬دریافت کرد‬
‫فایل ‪ filetwo.html‬باز شود‬

‫ممنوع ورود كردن یک آی پی خاص‬

‫اگر خواستید از ورود شخصی با آی ری خاص به وبسایتتان جلوگیری کنید می توانید از کد زیر‬
‫استفاده کنید‬
‫)‪$RewriteCond %{REMOTE_ADDR} ^(A.B.C.D‬‬
‫]‪RewriteRule ^/* http://www.domain.com/sorry.html [L‬‬

‫تتهتتارگتتانتته ‪ IP‬متتورد نتتظتتر رو وارد کتتنتتیتتد و بتته‬ ‫بتته جتتای ‪ A B C D‬اجتت ای‬
‫جای‪ http://www.domain.com/sorry.html‬آدرس مورد نظر که مثال می تو نه یک صتتتف حه‬
‫حاوی ریغاا هشدار باشه رو وارد کنید‬

‫‪http://esecurity.ir‬‬
‫‪38‬‬ ‫امنیت وب سایت با ‪Htaccess‬‬

‫خالص شدن از دست ‪Query Strings‬‬

‫اگر بیشتر ‪ url‬ها در وبسایت شما ی ی مانند‬

‫‪http://www.domain.com/home.html?example=12345abcd‬‬

‫هست رس باید یه فکری برای نجات دادن خودتون بکنید ون در این صورت وبسایت شما بدرستی‬
‫در ستتایت هایی نظیر گوگل ذخیره نمیشتته و حتی کاربرانتون اگر بخوان آدرس یک صتتفحه رو توی‬
‫ذهنشون داشته باشند تا جای دیگر از اون استفاده کنند این عمل براشون دشوار میشه برای اینکه‬
‫از دست اینجور آدرس ها خالص شید از کد زیر استفاده کنید‬
‫]‪RewriteCond %{QUERY_STRING} ^id=456&lid=789.* [NC‬‬
‫]‪RewriteRule (.*) http://www.domain.com/$1? [R=301‬‬

‫با این کد نه تنها از دست ‪ query‬ه راحت میشید بلکه از دست اون عالمت سوال هب را حت میشید‬

‫این کار یه جنبه امنیتی هب داره و اون جلوگیری از هک شدن وبسایت از طریق ‪ sql injection‬هست‬

‫دسترسی كاربران را بسته به دامنه آنها محدود كنید‬


‫کد‪:‬‬
‫‪# 1block visitors referred from indicated domains‬‬
‫>‪2IfModule mod_rewrite.c‬‬
‫‪3RewriteEngine on‬‬
‫]‪4RewriteCond %{HTTP_REFERER} scumbag.com [NC,OR‬‬
‫]‪5RewriteCond %{HTTP_REFERER} wormhole.com [NC,OR‬‬
‫]‪6RewriteRule .* - [F‬‬
‫‪7‬‬
‫>‪8ifModule‬‬

‫‪http://esecurity.ir‬‬
‫‪39‬‬ ‫امنیت وب سایت با ‪Htaccess‬‬

‫ایجاد محدودیت در آپلود فایل ‪:‬‬


‫با کد زیر حداکثر حجب فایل قابل آرلود رو ‪ ۲۰‬مگابایت تنظیب کردیب‬
‫‪php_value upload_max_filesize 20M‬‬
‫ایجاد محدودیت در حجم پست ارسالی ‪:‬‬
‫با کد زیر میشه حداکثر حجب هر رست رو ‪ ۲‬مگابایت تعیین کرد‪:‬‬
‫‪php_value post_max_size 2M‬‬
‫نمایش پیغام ‪ requast time‬در بازه زمانی مشخص‪:‬‬
‫‪ requast time‬حداکثر زمانی درخواست فراخوانی یک صفحه هست ‪:‬‬
‫‪php_value max_execution_time 200‬‬
‫حداكثر زمان دریافت اطالعات ‪ POST‬و ‪: GET‬‬
‫‪php_value max_input_time 250‬‬

‫فعال كردن قابلیت ‪: Gzip‬‬

‫‪http://esecurity.ir‬‬
‫‪40‬‬ ‫امنیت وب سایت با ‪Htaccess‬‬

‫وقتی کاربری از طریق مروگر ستتایتش درخواستتت نمایش ستتایت شتتما رو میده این درخواستتت به‬
‫سرور شما ارسال میشه و سرور فایلهایی که برای نمایش سایت شما الزا هست رو جمع میکنه و به‬
‫مرورگر کاربر میفرسته و سایت شما نمایش داده میشه‪ ،‬ولی اگه از قابلیت ‪ Gzip‬استفاده کنید هنگاا‬
‫درخواستتت ستترور فایلهای مورد نیاز رو به صتتورت فشتترده در می یاره و این فایل فشتترده رو به‬
‫مرورگر ارسال میکنه و بعد از خارج شدن از حالت فشرده در سیستب کاربر سایت شما نمایش داده‬
‫میشتته در حقیقت می ان حجمی که باید توستتط مرورگر برای نمایش ستتایت شتتما دریافت شتته کمتر‬
‫می شه واین یعنی اف ایش قابل توجه سرعت بارگ اری سایت برای اینکه ک کنید که ها ست شما از‬
‫این قابلیت رشتیبانی میکنه از این اب ار استفاده کنید اگه رشتیبانی نمیکنه باید هاست رو عوض کنید و‬
‫اگر ر شتیبانی کرد کد زیر رو برای فعال شدنش روی سایت خودتون در فایل ‪ htaccess‬قرار بدین‬
‫( این کدی هستتت که من برای ستتایت خودا استتتفاده میکنب شتتما میتونین رستتوند های مورد نظر‬
‫خودتون رو با رسوند های درج شده در اینجا تعویض کنین)‬
‫‪#BEGIN Compress text files‬‬
‫>‪<ifModule mod_deflate.c‬‬
‫>‪<filesMatch "\.(css|js|x?html?|php|woff|ttf|png|jpg|gif)"$‬‬
‫‪SetOutputFilter DEFLATE‬‬
‫>‪</filesMatch‬‬
‫>‪</ifModule‬‬
‫‪#END Compress text files‬‬

‫تصویر پیشفرض‬

‫با استتتفاده از این کد اگر یکی از تصتتاویر وبستتایتتون د ار مشتتکلی شتتد و به هر دلیلی لود نشتتد‬
‫تصتتتویری که اینجا معرفی میکنید جایگ ین اون میشتتته با استتتتفاده این کد ظاهری حرفه ای تر به‬
‫وبسایتتون بدین‬
‫‪RewriteCond %{REQUEST_FILENAME} !-f‬‬
‫]‪RewriteRule ^images/.*.jpg$ /images/default.jpg [L‬‬

‫‪http://esecurity.ir‬‬
‫‪41‬‬ ‫امنیت وب سایت با ‪Htaccess‬‬

‫با جایگ ین کردن ‪ /images/default.jpg‬با آدرس تصتتویر ریشتتفرض و تغییر دادن ‪ images/‬و‬
‫‪ jpg‬محتتل تصتتتتاویر و فرمتتت تصتتتتاویری رو کتته می خواهیتتد در صتتتورت اشتتتکتتال بتتا‬
‫‪ /images/default.jpg‬جایگ ین بشه ‪ ،‬کد رو اختصاصی و آماده استفاده در سرور خودتون کنید‬

‫جلوگیری از ‪hotlinking‬‬

‫سارقان مطلب و ‪ bandwidth‬با کپی کردن لینک فایل های درون سرور شما ( مثاال تصاویر ‪،‬‬
‫موزیک ها ‪ ،‬کلیم های فلش و …) به ریشرفت سایت خودشان کمک می کنند و به جای آن از رهنای‬
‫بایند شما استفاده می کنند که می تواند باعث کندی لود شدن صفحات سایت شما و یا حتی در برخی‬
‫موارد تماا شدن رهنا باند ماهیانه شما بشه برای اینکه جلوی این افراد رو بگیرید از کد زیر استفاده‬
‫کنید‬
‫}‪$^ RewriteCond %{HTTP_REFERER‬‬
‫]‪RewriteCond %{HTTP_REFERER} !^http://(www.)?domain.com/ .*$ [NC‬‬
‫]‪RewriteRule .(gif|jpg|swf|flv|png)$ /feed/ [R=302,L‬‬

‫در کد باال ‪ domain.com‬رو با دامین سایت خودتون عوض کنید‬

‫منتقل كردن از چند دامین به یک دامین دیگر‬

‫}‪$^ RewriteCond %{HTTP_REFERER‬‬


‫]‪RewriteCond %{HTTP_REFERER} !^http://(www.)?domain.com/ .*$ [NC‬‬

‫‪http://esecurity.ir‬‬
‫‪42‬‬ ‫امنیت وب سایت با ‪Htaccess‬‬

‫]‪RewriteRule .(gif|jpg|swf|flv|png)$ /feed/ [R=302,L‬‬

‫اگر از ند دامین برای آدرس دهی با سایتتان ا ستفاده می کنید این امر ممکن ا ست که هر دو دامین‬
‫را به یک دامین دیگر روی سرور بفرستید‬

‫فقط به جای ‪ http://www.domain.net‬و ‪ domain.net‬دو دامین خودتون رو بنویستتتید و به‬


‫جای ‪ http://domain.net‬آدرس جدید رو بنویسید‬

‫فراموش نکنید كه ‪:‬‬

‫* ‪ mod_rewrite‬از درون فایل ‪ htaccess‬اجرا می شود‬

‫* دستورات در فایل ‪ htaccess‬به حروف ب رگ و کو ک حساسند‬

‫* همیشه قبل از دست کاری فایل ‪ htaccess‬از اون نسخه رشتیبان تهیه کنید‬

‫اجازه دهی و جلوگیری از دسترسی ها‬

‫شما به سادگی با استفاده از این فایل می توانید از ورود آدرس آی ری های خاص به وب سایت خود‬
‫جلوگیری کنید دقت کنید که در آدرس های زیر‪ ،‬آدرس سوا بخش هارا را ندارد و حتما می توانید‬
‫حدس ب نید که را‪:‬‬

‫‪order allow,deny‬‬
‫‪deny from 255.0.0.0‬‬
‫‪deny from 123.45.6‬‬
‫‪allow from all‬‬

‫‪http://esecurity.ir‬‬
‫‪43‬‬ ‫امنیت وب سایت با ‪Htaccess‬‬

‫جلوگیری از لیست كردن پوشه ها در مرورگر‬

‫ممکن ا ست بع ضی اوقات در وب سایت خود رو شه های بازی دا شته با شید که تنظیب شده اند تا به‬
‫صتتتورت ریش فرض قابل مرور باشتتتند این بدین معناستتتت که کاربر ها می تواندد تمامی فایل های‬
‫لی ست شده در آن و ساختار کامل آن را تو سط مرورگر خود م شاهده کنند‪ ،‬به عنوان مثال رو شه ی‬
‫تصاویر و…‬
‫اما بعضی توسعه دهنده ها نمی خواهند نین اتفاقی بیفتد و قصد جلوگیری از مرور روشه های خود‬
‫توسط دیگران را دارند‬
‫خوشبحتانه دستور مورد استفاده در نین شرایطی بسیار ساده است‪:‬‬

‫‪Options -Indexes‬‬ ‫‪1‬‬


‫این د ستور را می توانید در فایل ‪ Htaccess‬هر رو شه ای که ق صد جلوگیری از مرور آن را دارید‬
‫قرار دهید‬
‫امن سازی با رم عبور‬
‫یکی دیگر از کاربردهای استتتتفاده از فایل ‪ Htaccess‬را می توان قابلیت امن ستتتازی بخش های‬
‫خاصی از وب سایت دانست‬
‫برای این کار می بایستتتت فایلی را برای قرارگیری اطالعات مربوط به ورود تولید کنید و آن را مورد‬
‫ا ستفاده قرار دهید‪ ،‬این کار باعث جلوگیری از ب سیاری از حمالت صورت گرفته به وب سایت شما‬
‫خواهد شد‬
‫یک نمونه از کدهای تولید شده را می توانید در این قسمت مشاهده کنید‪:‬‬

‫‪AuthType Basic‬‬
‫‪"AuthName "This Area is Password Protected‬‬
‫‪AuthUserFile /full/path/to/.htpasswd‬‬
‫‪Require valid-user‬‬

‫چند نکته در خصوص وردپرس‬

‫‪http://esecurity.ir‬‬
44 Htaccess ‫امنیت وب سایت با‬

Htaccess. ‫امن سازی وردپرس با استفاده از‬

‫ دستورات زیر را برای امن سازی ورود به صفحه ی‬،‫ریشنهاد می کنب با استفاده از قواعد بخش قبل‬
:‫ انجاا دهید‬wp-login.php
>Files wp-login.php<
Order Deny,Allow
Deny from All
Satisfy Any
"AuthName "Protected By AskApache
AuthUserFile /web/askapache.com/.htpasswda1
AuthType Basic
Require valid-user
>Files/<

: htaccess ‫ در‬wp-config ‫باال بردن امنیت فایل‬

‫برای جلوگیری از سرقت اطالعات فایل حیاتی و جلوگیری از دسترسی به اطالعات رایگاه داده سایت‬
‫کد زیر رو در فایل قرار بدین‬
>files wp-config.php<
order allow,deny
deny from all
>files/<

: wp-includes ‫افزایش امنیت محتوای فولدر‬

: ‫ قرار بدین‬htaccess ‫کافیه کد زیر رو در‬


Block the include-only files #
RewriteEngine On

http://esecurity.ir
‫‪45‬‬ ‫امنیت وب سایت با ‪Htaccess‬‬

‫‪/ RewriteBase‬‬
‫]‪RewriteRule ^wp-admin/includes/ - [F,L‬‬
‫]‪RewriteRule !^wp-includes/ - [S=3‬‬
‫]‪RewriteRule ^wp-includes/[^/]+\.php$ - [F,L‬‬
‫]‪RewriteRule ^wp-includes/js/tinymce/langs/.+\.php - [F,L‬‬
‫]‪RewriteRule ^wp-includes/theme-compat/ - [F,L‬‬

‫حل مشکل تعداد آیتم های فهرست وردپرس ‪:‬‬


‫اگه دقت کرده با شین هنگاا ساخت فهر ست د سته ها به صورت د ستی از یه جایی به بعد دیگه هر‬
‫ی اضتتتافه میکنین بعد ذخیره می بینین اضتتتافه نشتتتده برای حل این محدودیت کد زیر رو تو فایل‬
‫‪ htaccess‬قرار بدین ‪:‬‬
‫<‪>IfModule mod_php.c‬‬
‫‪php_value suhosin.post.max_vars 7000‬‬
‫‪php_value suhosin.request.max_vars 7000‬‬
‫>‪> / IfModule‬‬

‫حذف ‪ category‬از آدرس وردپرسی شما ‪:‬‬

‫شاید شما هب دو ست دا شته با شید کلمه ‪ /category/‬رو از آدرس وردرر سی خودتون حذف کنید‬
‫این کار عالوه بر اینکه باعث جمع و جور شدن ‪ url‬شما می شه تاحدودی هب در س و سایتتون موثر‬
‫هستتت البته با تغییر ریوند یکتای مربوط به ‪ category‬هب میشتته که این کار رو اف ونه های ستت و‬
‫برای شما انجاا میدن و این کد رو محض یک راه حل بیرون از هار وب اصولی قرار دادا‬
‫]‪RewriteRule ^category/(.+)$ http://www.yourblog.com/$1 [R=301,L‬‬

‫قواعد بازنویسی آدرس های ‪HTTP‬‬

‫بازنویستتی قواعد آدرس های ‪ HTTP‬یکی از مهب ترین و ررکاربردترین استتتفاده های ‪Htaccess‬‬
‫محسوب می شود که امروزه بسیار مورد استفاده قرار می گیرد‪ ،‬به این مثال نگاهی بیندازید‪:‬‬

‫‪http://esecurity.ir‬‬
‫‪46‬‬ ‫امنیت وب سایت با ‪Htaccess‬‬

‫‪Options +FollowSymLinks‬‬
‫‪RewriteEngine On‬‬
‫‪/ RewriteBase‬‬

‫]‪RewriteRule !\.(html|php)$ - [S=4‬‬


‫‪RewriteRule ^([^_]*)_([^_]*)_([^_]*)_([^_]*)_(.*)$ $1-$2-$3-$4-$5‬‬
‫]‪[E=uscor:Yes‬‬
‫]‪RewriteRule ^([^_]*)_([^_]*)_([^_]*)_(.*)$ $1-$2-$3-$4 [E=uscor:Yes‬‬
‫]‪RewriteRule ^([^_]*)_([^_]*)_(.*)$ $1-$2-$3 [E=uscor:Yes‬‬
‫]‪RewriteRule ^([^_]*)_(.*)$ $1-$2 [E=uscor:Yes‬‬

‫‪$RewriteCond %{ENV:uscor} ^Yes‬‬


‫]‪RewriteRule (.*) http://d.com/$1 [R=301,L‬‬
‫دستتتتور ‪ RewriteEngine‬و ‪ RewriteBase‬همیشتتته می توانند روی نین مقادیر دقیقی تنظیب‬
‫شود اما شما می بایست ابتدا ‪ RewriteEngine‬را فعال سازید‬
‫روش های ز یادی در اینتر نت در مورد این موضتتتوع که گو نه می توان ید ‪ mod_rewrite‬را در‬
‫سرور خود فعال سازید وجود دارند‬
‫به نحو د ستورات و ساختار آن ها دقت کنید‪ ،‬بعد از دریافت درخوا ست های ‪ ،HTTP‬سریعا آدرس‬
‫ها با این نحوها و عبارات منظب تطابق می یابند و کاربر را به صفحه ی مورد نظر هدایت می کنند‬
‫دستوراتی مثل [‪ ]R=301,L‬دستورات مهمی هستند که به آن ها رر ب های بازنویسی گفته می شود‬
‫و می توانید اطالعات زیادی را در مورد آن ها در اینترنت ریدا کنید‬
‫د ستورات باال ممکن ا ست شما را کمی گیج کرده با شد اما نگران نبا شید‪ ،‬من ری شنهاد می کنب نگاهی‬
‫به این آدرس بی نداز ید تا به شتتت ما در تول ید آدرس های مورد نظر ک مک ک ند و همچنین این جا نی‬
‫آموزش بستتیار جالبی وجود دارد با یک مثال ستتاده که می توان به خوبی بازنویستتی آدرس ها را با‬
‫توجه به آن فراگرفت‬

‫]‪RewriteRule ^dir/([0-9]+)/?$ /index.php?id=$1 [L‬‬


‫در یادگیری آن عجله نکنید‪ ،‬ممکن ا ست یادگیری تمامی د ستورات آن و م سلط شدن روی آن ندین‬
‫ماه طول بکشد‬

‫‪http://esecurity.ir‬‬
‫‪47‬‬ ‫امنیت وب سایت با ‪Htaccess‬‬

‫تعیین ایندكس و صفحه ی پیشفرض در یک پوشه‬

‫همانطور که احتماال می دانید‪ Apache ،‬هنگاا درخوا ست یک رو شه یا صفحه ی ا صلی وب سایت‪،‬‬


‫به سراغ فایل هایی مثل ‪ index.php ،index.html‬و… می رود اما شما می تواند با استفاده از یک‬
‫دستور ساده این موضوع را کمی اصال کنید و به ترتیب اولویت خود‪ ،‬فایل هایی که ‪ Apache‬باید‬
‫به صورت ریش فرض در هر روشه به دنبال آن ها بگردد را تعیین کنید‪:‬‬

‫‪DirectoryIndex index.html index.cgi index.php‬‬ ‫‪1‬‬


‫اگر هاست شما از این فایل رشتیبانی میکند اما از ‪ SSI‬رشتیبانی نمیکند‬

‫كافیست خطوط زیر را وارد كنید تا از ‪ SSI‬هم پشتیبانی شود ‪.‬‬

‫‪AddType text/html .shtml‬‬


‫‪AddHandler server-parsed .shtml‬‬
‫‪Options Indexed FollowSymLinks Includes‬‬

‫خط اول بیان میکند که کلیه فایلها با رسوند ‪ shtml‬دارا صحت هستند‬

‫خط دوا یک ‪ handler‬اضافه میکند خط سوا باعث میشود سرور این فایلها را اجرا کند‬

‫بنابراین شما خودتان بدون نیاز به درخواست از ادمین سرور توانستید ‪ SSI‬را فعال کنید‬

‫اگر هب دو ست دارید فایلهای ‪ SSI‬ب صورت جداگانه از فایلهای ‪ html‬نبا شند میتوانید خطوط زیر‬
‫را اضافه کنید ‪:‬‬

‫‪AddType text/html .shtml .html . htm‬‬


‫‪AddHandler server-prased .shtml .html .htm‬‬
‫‪Options Indexes FollowSymLinks Includes‬‬

‫‪http://esecurity.ir‬‬
‫‪48‬‬ ‫امنیت وب سایت با ‪Htaccess‬‬

‫این خطوط باعث میشوند که کلیه فایلها با رسوند ‪ html‬نی به سرور برای اجرا شدن منتقل شوند‬

‫تا اگر کدی که برای ‪ SSI‬باشد داشته باشد را اجرا کند و سپس صفحه شروع به بارگذاری کند‬

‫مجبورسازی برای دانلود فایل ها چندرسانه ای‬

‫مرورگر بسیاری از کاربران ممکن است قابلیت رخش بعضی فرمت های ندرسانه ای را به صورت‬
‫مستقل داشته باشد اما شما شاید به دالیلی بخواهید از این موضوع جلوگیری کنید و کاربر را مجبور‬
‫به دانلود نین فرمت هایی کنید‬
‫برای انجاا این موضوع می توانید از دستور ساده ی زیر استفاده کرده و فرمت های مدنظر خود را‬
‫نی به آن ها اضافه کنید‪:‬‬

‫‪AddType application/octet-stream .zip .mp3 .mp4‬‬ ‫‪1‬‬

‫سندهای خطای شخصی سازی شده‬

‫احتماال در بسیاری از وب سایت ها با صفحات شخصی سازی شده ی ‪ 404‬و… مواجه شده اید و‬
‫ررسیده اید که گونه می توان نین صفحاتی را طراحی کرد؟‬
‫راسخ این سوال واقعا ساده است‬
‫با نگاهی به دستورات زیر راسخ خود را خواهید گرفت‪:‬‬

‫‪http://esecurity.ir‬‬
49 Htaccess ‫امنیت وب سایت با‬

ErrorDocument 100 /100_CONTINUE


ErrorDocument 101 /101_SWITCHING_PROTOCOLS
ErrorDocument 102 /102_PROCESSING
ErrorDocument 200 /200_OK
ErrorDocument 201 /201_CREATED
ErrorDocument 202 /202_ACCEPTED
ErrorDocument 203 /203_NON_AUTHORITATIVE
ErrorDocument 204 /204_NO_CONTENT
ErrorDocument 205 /205_RESET_CONTENT
ErrorDocument 206 /206_PARTIAL_CONTENT
ErrorDocument 207 /207_MULTI_STATUS
ErrorDocument 300 /300_MULTIPLE_CHOICES
ErrorDocument 301 /301_MOVED_PERMANENTLY
ErrorDocument 302 /302_MOVED_TEMPORARILY
ErrorDocument 303 /303_SEE_OTHER
ErrorDocument 304 /304_NOT_MODIFIED
ErrorDocument 305 /305_USE_PROXY
ErrorDocument 307 /307_TEMPORARY_REDIRECT
ErrorDocument 400 /400_BAD_REQUEST
ErrorDocument 401 /401_UNAUTHORIZED
ErrorDocument 402 /402_PAYMENT_REQUIRED
ErrorDocument 403 /403_FORBIDDEN
ErrorDocument 404 /404_NOT_FOUND

ErrorDocument 405 /405_METHOD_NOT_ALLOWED


ErrorDocument 406 /406_NOT_ACCEPTABLE
ErrorDocument 407 /407_PROXY_AUTHENTICATION_REQUIRED
ErrorDocument 408 /408_REQUEST_TIME_OUT
ErrorDocument 409 /409_CONFLICT
ErrorDocument 410 /410_GONE
ErrorDocument 411 /411_LENGTH_REQUIRED
ErrorDocument 412 /412_PRECONDITION_FAILED
ErrorDocument 413 /413_REQUEST_ENTITY_TOO_LARGE

http://esecurity.ir
50 Htaccess ‫امنیت وب سایت با‬

ErrorDocument 414 /414_REQUEST_URI_TOO_LARGE


ErrorDocument 415 /415_UNSUPPORTED_MEDIA_TYPE
ErrorDocument 416 /416_RANGE_NOT_SATISFIABLE
ErrorDocument 417 /417_EXPECTATION_FAILED
ErrorDocument 422 /422_UNPROCESSABLE_ENTITY
ErrorDocument 423 /423_LOCKED
ErrorDocument 424 /424_FAILED_DEPENDENCY
ErrorDocument 426 /426_UPGRADE_REQUIRED
ErrorDocument 500 /500_INTERNAL_SERVER_ERROR
ErrorDocument 501 /501_NOT_IMPLEMENTED
ErrorDocument 502 /502_BAD_GATEWAY
ErrorDocument 503 /503_SERVICE_UNAVAILABLE
ErrorDocument 504 /504_GATEWAY_TIME_OUT
ErrorDocument 505 /505_VERSION_NOT_SUPPORTED
ErrorDocument 506 /506_VARIANT_ALSO_VARIES
ErrorDocument 507 /507_INSUFFICIENT_STORAGE
ErrorDocument 510 /510_NOT_EXTENDED

‫جلوگیری از حمالت وب‬

dos ‫ جلوگیری از حمالت‬htaccess ‫كد‬

‫ هاست‬htaccess ‫ و ربات ها بر روی وبسایتتان کد زیر را به انتهای‬fake ‫برای جلوگیری از بازدید‬


‫خود بیاف ایید‬
SetEnvIfNoCase User-Agent .* allowed_agent
Order Deny,Allow
Deny from All
Allow from env=allowed_agent

http://esecurity.ir
‫‪51‬‬ ‫امنیت وب سایت با ‪Htaccess‬‬

‫جلوگیری از اسکن سایت توسط اسکنر ها‬

‫برای جلوگیری از ا سکن سایت تو سط ا سکنر ها میتوانید با ایجاد یک فایل ‪ htaccess‬و قرار دادن‬
‫کد های زیر ‪ ،‬مانع اسکن سایت توسط این اسکنر ها شوید‬

‫‪http://esecurity.ir‬‬
52 Htaccess ‫امنیت وب سایت با‬

SQL Injection ‫؛ جلوگیری از حمالت‬htaccess. ‫كد‬

‫ تا حد زیادی جلوگیری مینماید و از خطر در امان‬SQL Injection ‫ زیر از حمالت‬htaccess ‫کد‬


)ً‫خواهید بود (تقریبا‬

RewriteEngine On
Options +FollowSymLinks
ServerSignature Off

RewriteCond %{REQUEST_METHOD}
^(HEAD|TRACE|DELETE|TRACK) [NC,OR]
RewriteCond %{THE_REQUEST} ^.*(\\r|\\n|%0A|%0D).* [NC,OR]

RewriteCond %{HTTP_REFERER}
^(.*)(<|>|'|%0A|%0D|%27|%3C|%3E|).* [NC,OR]
RewriteCond %{HTTP_COOKIE} ^.*(<|>|'|%0A|%0D|%27|%3C|%3E|).*
[NC,OR]
RewriteCond %{REQUEST_URI} ^/(,|;|:|<|>|">|"<|/|\\\.\.\\).{0,9999}.*
[NC,OR]

RewriteCond %{HTTP_USER_AGENT} ^$ [OR]


RewriteCond %{HTTP_USER_AGENT} ^(java|curl|wget).* [NC,OR]
RewriteCond %{HTTP_USER_AGENT}
^.*(winhttp|HTTrack|clshttp|archiver|loader|email|harvest|extract|grab|miner
).* [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^.*(libwww-
perl|curl|wget|python|nikto|scan).* [NC,OR]
RewriteCond %{HTTP_USER_AGENT}
^.*(<|>|'|%0A|%0D|%27|%3C|%3E|).* [NC,OR]

RewriteCond %{QUERY_STRING}
^.*(;|<|>|'|"|\)|%0A|%0D|%22|%27|%3C|%3E|).*(/\*|union|select|insert|cast|s
]et|declare|drop|update|md5|benchmark).* [NC,OR
RewriteCond %{QUERY_STRING} ^.*(localhost|loopback|127\.0\.0\.1).*
[NC,OR]

http://esecurity.ir
‫‪53‬‬ ‫امنیت وب سایت با ‪Htaccess‬‬

‫‪RewriteCond %{QUERY_STRING} ^.*\.[A-Za-z0-9].* [NC,OR]#‬‬


‫}‪RewriteCond %{QUERY_STRING‬‬
‫]‪^.*(<|>|'|%0A|%0D|%27|%3C|%3E|).* [NC‬‬
‫‪RewriteRule ^(.*)$ sqlinj.cfm‬‬

‫اگر کسی قصد هک کردن وب سایت شما را داشته باشید با ریج ‪ sqlinj.cfm‬رو به رو می شود شما‬
‫میتوانید یک اسبدیگر برای این ریج انتخاب کنید‬
‫از این به بعد در زمینه ‪ htaccess‬بیشتر رست میگذارا‬

‫ضمناً این کد جلوی نرا اف ار ‪ httrack‬ع ی را هب میگیرد و نمیگذارد قالب شما را با جاش بردارد‬

‫جلوگیری از حمالت تزریق كد ( ‪ ) SQL INJECTION‬به وسیله ‪htaccess‬‬

‫همونطور که میدونید حمالت ت ریق کد به علت نقص امنیتی در رایگاه داده معموال به وجود میاد که‬
‫البته دیگه با ریشرفت و اف ایش امنیت و اصول طراحی استاندارد سایت دیگه این باگ از بین میره‬

‫و امکان هک شتتتدن از این طریف ن دیک صتتتفر میشتتته اما یک کد قرار میدا که با قرار دادنش در‬
‫‪ htaccess‬تا حد خیلی زیادی از حمالت ‪ sql injection‬در امان خواهید بود‬

‫و در صورتی که کسی بخواد با این روش شما رو هک کنه با صفحه ‪ hack.cfm‬روبرو میشه‬

‫که این صفحه رو خود شما باید طراحی کنید و در هاستتون قرار بدین‬

‫‪http://esecurity.ir‬‬
54 Htaccess ‫امنیت وب سایت با‬

‫درورال و انجمن ها و ت‬-‫نیوک‬-‫جومال‬-‫ وردررس‬: ‫از این کد در ستتیستتتب های مدیریت محتوا مثل‬
‫روا میشه استفاده کرد‬

: ‫ این کد رو قرار بدین‬htaccess ‫درون فایل‬

:‫کد‬
RewriteEngine On

Options +FollowSymLinks

ServerSignature Off

RewriteCond %{REQUEST_METHOD} ^(HEAD|TRACE|DELETE|TRACK)


[NC,OR]

RewriteCond %{THE_REQUEST} ^.*(\\r|\\n|%0A|%0D).* [NC,OR]

RewriteCond %{HTTP_REFERER} ^(.*)(<|>|'|%0A|%0D|%27|%3C|%3E|).*


[NC,OR]

RewriteCond %{HTTP_COOKIE} ^.*(<|>|'|%0A|%0D|%27|%3C|%3E|).*


[NC,OR]

RewriteCond %{REQUEST_URI} ^/(,|;|:|<|>|">|"<|/|\\\.\.\\).{0,9999}.*


[NC,OR]

RewriteCond %{HTTP_USER_AGENT} ^$ [OR]

RewriteCond %{HTTP_USER_AGENT} ^(java|curl|wget).* [NC,OR]

http://esecurity.ir
55 Htaccess ‫امنیت وب سایت با‬

RewriteCond %{HTTP_USER_AGENT}
^.*(winhttp|HTTrack|clshttp|archiver|loader|email|harvest|extract|grab|miner
).* [NC,OR]

RewriteCond %{HTTP_USER_AGENT} ^.*(libwww-


perl|curl|wget|python|nikto|scan).* [NC,OR]

RewriteCond %{HTTP_USER_AGENT}
^.*(<|>|'|%0A|%0D|%27|%3C|%3E|).* [NC,OR]

RewriteCond %{QUERY_STRING}
^.*(;|<|>|'|"|\)|%0A|%0D|%22|%27|%3C|%3E|).*(/\*|union|select|insert|cast|s
]et|declare|drop|update|md5|benchmark).* [NC,OR

RewriteCond %{QUERY_STRING} ^.*(localhost|loopback|127\.0\.0\.1).*


[NC,OR]

RewriteCond %{QUERY_STRING} ^.*\.[A-Za-z0-9].* [NC,OR]#

RewriteCond %{QUERY_STRING} ^.*(<|>|'|%0A|%0D|%27|%3C|%3E|).*


[NC]

RewriteRule ^(.*)$ hack.cfm

http://esecurity.ir
‫‪56‬‬ ‫امنیت وب سایت با ‪Htaccess‬‬

‫عوض كردن ایندكس فولدری خاص‬

‫اکثر می بانهای وب فایلی که وظیفه لود شدن در هنگاا باز کردن دایرکتوری خاصی را دارد‬

‫با ناا ‪ index‬قرار میدهند که با استتتفاده از ‪ htaccess‬میتوانید انرا عوض کنید خط زیر را به فایل‬
‫اضافه کنید ‪:‬‬

‫‪DirectoryIndex filename.html‬‬

‫حتما دیده اید که اگر فایل ‪ index.html‬در دایرکتوری نبود سرور فایل دیگری مثال ‪ index.php‬را‬
‫اجرا میکند‬

‫روش به اینصتتورت استتت که در دستتتور فوق بعد از ‪ filename.html‬با یک فضتتای خالی نااهای‬
‫دیگر را وارد میکنید‬

‫بنابراین ستترور در دایرکتوری ویژه ابتدا به دنبال فایل اولی و ستتپس به دنبال فایل دومی و به همین‬
‫ترتیب جستجو میکند‬

‫اگر هب هیچ یک از فایلها ریدا نشد ریغاا خطای ‪ ۴۰۴‬ظاهر میشود‬

‫‪http://esecurity.ir‬‬
57 Htaccess ‫امنیت وب سایت با‬

htaccess ‫ توسط‬Redirec

‫حتما میدانید که راههای زیادی برای ریدایرکت کردن فایلی خاص به فایل دیگر وجود دارد اما بهترین‬
‫کار همین است که میگویب‬

: ‫در فایل خط زیر را وارد کنید‬

Redirect /OldDir/OldFile.html http://www.domainname.com/newdir

‫بنابراین دستور به شر زیر است‬

Redirect oldlocation newlocation

‫ باید ناا ادرس کامل سایت باشد‬newlocation ‫منتهی یادتان باشد که‬

‫ محدود کنید‬User-Agent Header ‫دسترسی کاربران را بسته به‬

spider ‫ها و‬bot ‫ جلوی بع ضی از‬،‫این روش می تواند در م صرف رهنای باند شما صرفه جویی کند‬
: ‫ها را می گیرد‬
:‫کد‬
#block visitors referred from indicated domains
>IfModule mod_rewrite.c<
SetEnvIfNoCase ^User-Agent$
.*(craftbot|download|extract|stripper|sucker|ninja|clshttp|webspider|leache
r|col lector|grabber|webpictures) HTTP_SAFE_BADBOT
SetEnvIfNoCase ^User-Agent$ .*(libwww-perl|aesop_com_spiderman)
HTTP_SAFE_BADBOT
Deny from env=HTTP_SAFE_BADBOT

http://esecurity.ir
‫‪58‬‬ ‫امنیت وب سایت با ‪Htaccess‬‬

‫>‪>/ifModule‬‬

‫مسدود كردن مرورگر های آفالین و روبات های بد !‬

‫مرورگرهای آفالین نرا اف اری با ستتترعت باال برای گرفتن اطالعات از اینترنت استتتت این برنامه به‬
‫شما امکان دریافت کامل اطالعات یک سایت را به صورت طبقه بندی شده می دهد‬

‫روبات های بد یا همون ‪ Bad Robots‬هب استتتپایدر هایی هستتتتن که باعث خرابکاری می شتتتن و‬
‫خالصه برای سایتتون مفید نیستند‬

‫شتتتما می تونید به وستتتیله ی کد هایی که در رایین بهتون می دا از این ها جلوگیری کنید و به نوعی‬
‫شر م احب های سایت خودتون رو کب کنید‬

‫به روت سایت خود رفته و ‪ httaccess‬رو باز کنید‬

‫دقت کنید شاید این فایل مخفی شده باشد‬

‫این کد ها رو در آخرش اضافه کنید‬


‫کد‪:‬‬
‫‪RewriteEngine On‬‬
‫]‪RewriteCond %{HTTP_USER_AGENT} ^BlackWidow [OR‬‬
‫‪RewriteCond %{HTTP_USER_AGENT} ^Bot\ mailto:[email protected]‬‬
‫]‪[OR‬‬
‫]‪RewriteCond %{HTTP_USER_AGENT} ^ChinaClaw [OR‬‬

‫‪http://esecurity.ir‬‬
59 Htaccess ‫امنیت وب سایت با‬

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]

http://esecurity.ir
60 Htaccess ‫امنیت وب سایت با‬

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]

http://esecurity.ir
‫‪61‬‬ ‫امنیت وب سایت با ‪Htaccess‬‬

‫‪RewriteCond %{HTTP_USER_AGENT} ^Zeus‬‬


‫]‪RewriteRule ^.* - [F,L‬‬

‫جلوگیری از اجرای فایل در پوشه های با پرمیژن (دسترسی) ‪777‬‬

‫اگه در سایتتون یک روشه داشتید که ررا ‪ 777‬بود و میخواید جلوی خطر احتمالی رو بگیرید‬

‫یک ‪ htaccess‬باز کنید و توش اینو ب نید‬

‫کد ‪:PHP‬‬

‫‪AddHandler cgi-script .php .pl .py .jsp .asp .htm .shtml .sh .cgi .html Options‬‬
‫‪-ExecCGI‬‬

‫جلوگیری از حمالت ‪LFI‬‬

‫‪http://esecurity.ir‬‬
‫‪62‬‬ ‫امنیت وب سایت با ‪Htaccess‬‬

‫حدود ‪ ۷۰‬تا ‪ ۸۰‬درصد از وبسایت ها مقابل حمالت ‪ LFI‬آسیب رذیر هستند‪ ،‬هکر ها از این حفره جهت‬
‫بهره برداری و گرفتن ‪ shell‬استتتفاده میکنند‪ ،‬شتتما میتوانید از طریق ‪ htaccess‬وبستتایت خود را‬
‫مقابل این حمالت ایمن سازی کنید‬
‫در زیر میتوانید یک نمونه از کد ‪ php‬آسیب رذیر در مقابل حمالت ‪ LFI‬را مشاهده کنید‪:‬‬
‫کد‪:‬‬
‫<?‪<php‬‬
‫‪LFI Vulnerable Code //‬‬
‫‪;redirect = $_GET[redirect]$‬‬
‫)‪;include($redirect‬‬
‫?>‬
‫کد زیر زیر به لطف ارائه ‪ SigSiu.net‬میتواند شما را مقابل این حمالت ایمن کند‬
‫کد‪:‬‬
‫‪##########Begin - File injection protection, by SigSiu.net‬‬
‫‪RewriteCond %{REQUEST_METHOD} GET‬‬
‫]‪RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=http:// [OR‬‬
‫]‪RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=(\.\.//?)+ [OR‬‬
‫]‪RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=/([a-z0-9_.]//?)+ [NC‬‬
‫]‪RewriteRule .* - [F‬‬
‫‪End - File injection protection ##########‬‬

‫در ادامه کد باال (لوگکت) ممکن ا ست بخواهد از ‪ URL encoding‬بجای ‪ //:http‬ا ستفاده کنید‪ ،‬بدین‬
‫جهت کد زیر را در خط دوا کد باال جایگ ین کنید‪:‬‬
‫کد‪:‬‬
‫]‪RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=http%3A%2F%2F [OR‬‬

‫اف ودن کد زیر به فایل ‪ htaccess‬میتواند ند الیه امنیتی در م قابل حمالتی که با استتتت فاده از‬
‫‪ proc/self/environ method‬نفوذ رذیری را ممکن میکنند (لوگکت) اضافه کند‪:‬‬
‫کد‪:‬‬
‫‪proc/self/environ? no way#‬‬

‫‪http://esecurity.ir‬‬
‫‪63‬‬ ‫امنیت وب سایت با ‪Htaccess‬‬

‫]‪RewriteCond %{QUERY_STRING} proc\/self\/environ [NC,OR‬‬


‫‪-‬‬
‫کد زیر میتواند از شتتما در مقابل ‪Apache HTTP Server CVE-2011-3192 Denial Of‬‬
‫‪ Service Vulnerability‬که نخ ستین بار در ‪ August 2011‬ک شف شد محافظ کند‪ ،‬البته این کد‬
‫مخ صوص ک سانی ست که امکان به روز ر سانی سرور خود را ندارند‪ ،‬اگر از ن سخه به روز تر از این‬
‫تاریخ می بانی میشوید‪ ،‬اجرای این کد ل ومی ندارد‬
‫کد‪:‬‬
‫‪#drop Range header when more than 5 ranges‬‬
‫‪#CVE-2011-3192‬‬
‫‪SetEnvIf Range (,.*?){5,} bad-range=1‬‬
‫‪RequestHeader unset Range env=bad-range‬‬
‫‪#optional logging‬‬
‫‪#CustomLog insert-path-and-name-of-log common env=bad-range‬‬
‫‪ -‬استتتفاده از ‪ x-frame‬یکی از غیر اصتتولی ترین و خطرناک ترین کد هاییستتت که شتتما میتوانید بر‬
‫روی وب سایت خود اجرا کند و یا اگر از سی ستب های مدیریت محتوا ا ستفاده میکنید به کاربران خود‬
‫اجازه دهید تا از این کد استتتفاده کنند‪ ،‬قصتتد آموزش اینکه این کد طور میتواند حفره ای برای نفوذ‬
‫با شد را در این مقاله نداریب و صرفا به شما آموزش میدهیب که طور میتوانید از اجرا شدن این کد‬
‫با اسفاده از ‪ htaccess‬جلوگیری کنید‪:‬‬
‫کد‪:‬‬
‫‪Don't allow any pages to be framed - Defends against CSRF #‬‬
‫‪Header set X-Frame-Options DENY‬‬
‫در ادامتته کتد بتتاال کتته اجرای کتتد ‪ x-frame‬را غیر فعتتال میکنتتد‪ ،‬متوانیتتد بتته جتتای ‪ DENY‬از‬
‫‪ SAMEORIGIN‬جهت اجازه دادن کد ‪ x-frame‬ی که تنها از سایت خودتان اجرا میشود‪ ،‬استفاده‬
‫کنید‬
‫بدین ترتیب تنها صفحات داخلی وبسایت شما اجازه قرار گرفتن در کد ‪ x-frame‬را خواهند داشت‬

‫‪http://esecurity.ir‬‬
‫‪64‬‬ ‫امنیت وب سایت با ‪Htaccess‬‬

‫در نستتخه های ‪ ۸‬و ‪ ۹‬مرورگر اینترنت اکستتپلورر با استتتفاده از کد زیر از ‪cross site scripting‬‬
‫محافظت کنید‬
‫توجه‪ :‬ا ستفاده از این کد ممکن ا ست کارایی برخی از وب سایت ها را مختل کند‪ ،‬اگر این م شکل برای‬
‫شما ریش آمد کافیست تا مقدار ‪ 1‬را به ‪ 0‬تغییر دهید‬

‫کد‪:‬‬
‫‪#Turn on IE8-IE9 XSS prevention tools‬‬
‫‪"Header set X-XSS-Protection "1; mode=block‬‬

‫‪Content Security Policy -‬‬

‫یک الیه اف وده شده امنیت ایست که میتواند شما را در مقابل حمالتی نظیر ‪Cross Site Scripting‬‬
‫و ‪ data injection‬ایمن کند‪ ،‬کد زیر اجرای جاوا کد های خارجی را محدود میکند و اجازه اجرا را‬
‫به آنها نمیدهد‪ ،‬اما اگر در وب سایت خود از سروی سهای نظیر ‪ Google Analytics‬ا ستفاده میکنید‬
‫این کد جلوی کارایی آن را میگیرد را که استتتفاده از اینگونه ستترویستتها مستتتل ا اجرای جاوا کد‬
‫میباشد‬
‫کد‪:‬‬
‫‪Only allow JavaScript from the same domain to be run #‬‬
‫‪Don't allow inline JavaScript to run #‬‬
‫‪";'Header set X-Content-Security-Policy "allow 'self‬‬

‫کد زیر جلوی کاراکترهای غیر استاندارد را خواهد گرفت و این عمل میتواند شما در مقابل حمالتی که‬
‫با درخواست ‪ HTTP‬نفوذ رذیری را ممکن میکند ایمن کند‬

‫کد‪:‬‬
‫‪#Prevent use of specified methods in HTTP Request‬‬
‫)‪RewriteCond %{REQUEST_METHOD} ^(HEAD|TRACE|DELETE|TRACK‬‬
‫]‪[NC,OR‬‬

‫‪http://esecurity.ir‬‬
65 Htaccess ‫امنیت وب سایت با‬

#Block out use of illegal or unsafe characters in the HTTP Request


RewriteCond %{THE_REQUEST} ^.*(\\r|\\n|%0A|%0D).* [NC,OR]
#Block out use of illegal or unsafe characters in the Referer Variable of the
HTTP Request
RewriteCond %{HTTP_REFERER}
^(.*)(<|>|'|%0A|%0D|%27|%3C|%3E|%00).* [NC,OR]
#Block out use of illegal or unsafe characters in any cookie associated with
the HTTP Request
RewriteCond %{HTTP_COOKIE} ^.*(<|>|'|%0A|%0D|%27|%3C|%3E|%00).*
[NC,OR]
#Block out use of illegal characters in URI or use of malformed URI
RewriteCond %{REQUEST_URI} ^/(,|;|:|<|>|">|"<|/|\\\.\.\\).{0,9999}.*
[NC,OR]
#Block out use of empty User Agent Strings
#NOTE - disable this rule if your site is integrated with Payment Gateways
such as PayPal
RewriteCond %{HTTP_USER_AGENT} ^$ [OR]
#Block out use of illegal or unsafe characters in the User Agent variable
RewriteCond %{HTTP_USER_AGENT}
^.*(<|>|'|%0A|%0D|%27|%3C|%3E|%00).* [NC,OR]
#Measures to block out SQL injection attacks
RewriteCond %{QUERY_STRING}
^.*(;|<|>|'|"|\)|%0A|%0D|%22|%27|%3C|%3E|%00).*(/\*|union|select|insert|c
]ast|set|declare|drop|update|md5|benchmark).* [NC,OR
#Block out reference to localhost/loopback/127.0.0.1 in the Query String
RewriteCond %{QUERY_STRING} ^.*(localhost|loopback|127\.0\.0\.1).*
[NC,OR]
#Block out use of illegal or unsafe characters in the Query String variable
RewriteCond %{QUERY_STRING}
^.*(<|>|'|%0A|%0D|%27|%3C|%3E|%00).* [NC]

TRACE and TRACK ‫ غیر فعال كردن‬htaccess. ‫كد‬

http://esecurity.ir
66 Htaccess ‫امنیت وب سایت با‬

client ‫ یک روش درخوا ست ه ست که باعث می شه اطالعاتی که از طرف‬TRACE and TRACK


: ‫ برگردانده میشه یک مثال ساده‬client ‫ مجددا به‬، ‫ ارسال میشه‬ibm http server ‫یا کاربر به‬
$telnet 127.0.0.1 8080 Trying... Connected to 127.0.0.1. Escape character
is '^]'. TRACE / HTTP/1.0 Host: foo A: b C: d HTTP/1.1 200 OK Date: Mon,
04 Oct 2004 14:07:59 GMT Server: IBM_HTTP_SERVER Connection:
close Content-Type: message/http TRACE / HTTP/1.0 A: b C: d Host: foo
Connection closed

#disable TRACE and TRACK in the main scope of httpd.conf


RewriteEngine On RewriteCond %{REQUEST_METHOD} ^TRACE
RewriteRule .* – [F] RewriteCond %{REQUEST_METHOD} ^TRACK
RewriteRule .* – [F] … <VirtualHost www.example.com> … # disable
TRACE and TRACK in the www.example.com virtual host RewriteEngine
On RewriteCond %{REQUEST_METHOD} ^TRACE RewriteRule .* – [F]
RewriteCond %{REQUEST_METHOD} ^TRACK RewriteRule .* – [F]
# </VirtualHost>

https ‫ به‬HTTP ‫مجبور كردن مرور گر برای تغییر مسیر از‬

‫ هستتتت یعنی بدون رم نگاری‬http://www.yoursite.com ‫در حالت عادی آدرس ستتتایت شتتتما‬
‫ سایت باال میاد‬80 ‫اطالعات ما بین کاربر و سرور و با رورت‬
ssl ‫ رو از یکی از شتتترکت های ارائه دهنده‬secure locket layer ‫ یا‬SSL ‫وقتی شتتتما مجوز‬
‫میخرید( اس اس ال امکان رم نگاری اطالعات رد و بدل شتتتده بین کاربر و ستتترور رو میده جهت‬
‫اف ایش امنیت اطالعات و جلوگیری از‬

http://esecurity.ir
‫‪67‬‬ ‫امنیت وب سایت با ‪Htaccess‬‬

‫هک شدن که خودش یه بحث مفصله و سعی میکنب داخل یک تاریک حداگانه در مورد رروتکل اس اس‬
‫ال توضیح بدا)‬
‫در واقع سایت شما با دو رروتکل قابل د ستر سی ه ست یکی ‪ http‬که برای همه سیات ها ری شفرض‬
‫هست و دوا ‪ https‬که با رروت ‪ 443‬باال میاد و‬
‫وقتی مجوز ‪ ssl‬رو میخرید براتون فعال میشتته و کاربر به دو روش میتونه به ستتایتتون دستتترستتی‬
‫داشته باشه‬
‫در حالت عادی وقتی آدرس سایتتونو تایم میکنه با رروتکل ‪ http‬سایت باال میاد‬
‫بوسیله فایل ‪ htaccess‬این امکان هست که بصورت ریشفرض هر وقت کسی آدرس سایت شما رو‬
‫وارد کرد با رروتکل ‪ https‬ستتایت لود بشتته را که ممکنه کاربر ندونه ستتایت شتتما از این رروتکل‬
‫رشتیبانی میکنه(در صورتی که یک مجوز اس اس ال خریده و فعال کرده باشید)‬
‫خوب برای اینکه آدرس از ‪ http‬به ‪ https‬ب صورت ری شفرض تغییر کنه راه های دیگه ای هب ه ست‬
‫مثال از داخل رنل مدیریت جومال ‪ ،‬برخی اف ونه ها و اما اینب بعنوان یک روش تکمیلی و ستتاده مورد‬
‫استفاده قرار میگیره‬
‫برای اینکار داخل فایل ‪ htaccess‬روت سایت این کد رو وارد کنید و قبلش مطم ن ب شید که ماژول‬
‫‪ RewriteEngine‬داخل سرور فعال هست‬
‫کد‪:‬‬
‫‪RewriteEngine on RewriteCond %{SERVER_PORT} !^443$ RewriteRule‬‬
‫]‪^/(.*) https://%{SERVER_NAME}/$1 [NC,R,L‬‬

‫‪http://esecurity.ir‬‬
68 Htaccess ‫امنیت وب سایت با‬

‫ودر انتها‬

Htaccess ‫كد كامل‬

: ‫ دارن‬Vbseo + Sitemap ‫این كد ها برای كسایی كه‬


:‫کد‬
#Comment the following line (add '#' at the beginning)
#to disable mod_rewrite functions
#Please note: you still need to disable the hack in
#the vBSEO control panel to stop url rewrites
RewriteEngine On

#Some servers require the Rewritebase directive to be


#enabled (remove '#' at the beginning to activate)
#Please note: when enabled, you must include the path
#to your root vB folder (i.e. RewriteBase /forums/)
/ RewriteBase#

#RewriteCond %{HTTP_HOST} !^www\.yourdomain\.com


#RewriteRule (.*) http://www.yourdomain.com/forums/$1 [L,R=301]

$RewriteRule ^((urllist|sitemap_).*\.(xml|txt)(\.gz)?)
vbseo_sitemap/vbseo_getsitemap.php?sitemap=$1 [L]

RewriteCond %{REQUEST_URI}
!(admincp/|modcp/|cron|vbseo_sitemap|api\.php)
RewriteRule ^((archive/)?(.*\.php(/.*)?))$ vbseo.php [L,QSA]

RewriteCond %{REQUEST_FILENAME} !-f

http://esecurity.ir
69 Htaccess ‫امنیت وب سایت با‬

RewriteCond %{REQUEST_FILENAME} !-d


RewriteCond %{REQUEST_URI}
!(admincp/|modcp/|cron|vbseo_sitemap|api|redir\.php)
RewriteRule ^(.+)$ vbseo.php [L,QSA]
RewriteEngine On
$RewriteRule ^((urllist|sitemap).*\.(xml|txt)(\.gz)?)
vbseo_sitemap/vbseo_getsitemap.php?sitemap=$1 [L]

#BEGIN Compress text files


>ifModule mod_deflate.c<
>"$filesMatch "\.(css|js|x?html?|php)<
SetOutputFilter DEFLATE
>filesMatch/<
>ifModule/<
#END Compress text files

#BEGIN Expire headers


>ifModule mod_expires.c<
ExpiresActive On
"ExpiresDefault "access plus 1 seconds
"ExpiresByType image/x-icon "access plus 2592000 seconds
"ExpiresByType image/jpeg "access plus 2592000 seconds
"ExpiresByType image/png "access plus 2592000 seconds
"ExpiresByType image/gif "access plus 2592000 seconds
ExpiresByType application/x-shockwave-flash "access plus 2592000
"seconds
"ExpiresByType text/css "access plus 604800 seconds
"ExpiresByType text/javascript "access plus 216000 seconds
"ExpiresByType application/javascript "access plus 216000 seconds
"ExpiresByType application/x-javascript "access plus 216000 seconds
"ExpiresByType text/html "access plus 600 seconds
"ExpiresByType application/xhtml+xml "access plus 600 seconds
>ifModule/<

http://esecurity.ir
70 Htaccess ‫امنیت وب سایت با‬

#END Expire headers

#BEGIN Cache-Control Headers


>ifModule mod_headers.c<
>"$filesMatch "\.(ico|jpe?g|png|gif|swf)<
"Header set Cache-Control "max-age=2592000, public
>filesMatch/<
>"$filesMatch "\.(css)<
"Header set Cache-Control "max-age=604800, public
>filesMatch/<
>"$filesMatch "\.(js)<
"Header set Cache-Control "max-age=216000, private
>filesMatch/<
>"$filesMatch "\.(x?html?|php)<
"Header set Cache-Control "max-age=600, private, must-revalidate
>filesMatch/<
>ifModule/<
#END Cache-Control Headers

#BEGIN Turn ETags Off


>ifModule mod_headers.c<
Header unset ETag
>ifModule/<
FileETag None
#END Turn ETags Off

BEGIN Remove Last-Modified Header #


>ifModule mod_headers.c<
Header unset Last-Modified
>ifModule/<
#END Remove Last-Modified Header

http://esecurity.ir
71 Htaccess ‫امنیت وب سایت با‬

>IfModule mod_mime.c<
AddType text/css .css
AddType application/x-javascript .js
AddType text/richtext .rtf .rtx
AddType image/svg+xml .svg .svgz
AddType text/plain .txt
AddType text/xsd .xsd
AddType text/xsl .xsl
AddType video/asf .asf .asx .wax .wmv .wmx
AddType video/avi .avi
AddType image/bmp .bmp
AddType application/java .class
AddType video/divx .divx
AddType application/msword .doc .docx
AddType application/x-msdownload .exe
AddType image/gif .gif
AddType application/x-gzip .gz .gzip
AddType image/x-icon .ico
AddType image/jpeg .jpg .jpeg .jpe
AddType application/vnd.ms-access .mdb
AddType audio/midi .mid .midi
AddType video/quicktime .mov .qt
AddType audio/mpeg .mp3 .m4a
AddType video/mp4 .mp4 .m4v
AddType video/mpeg .mpeg .mpg .mpe
AddType application/vnd.ms-project .mpp
AddType application/vnd.oasis.opendocument.database .odb
AddType application/vnd.oasis.opendocument.chart .odc
AddType application/vnd.oasis.opendocument.formula .odf
AddType application/vnd.oasis.opendocument.graphics .odg
AddType application/vnd.oasis.opendocument.presentation .odp
AddType application/vnd.oasis.opendocument.spreadsheet .ods
AddType application/vnd.oasis.opendocument.text .odt
AddType audio/ogg .ogg
AddType application/pdf .pdf
AddType image/png .png

http://esecurity.ir
72 Htaccess ‫امنیت وب سایت با‬

AddType application/vnd.ms-powerpoint .pot .pps .ppt .pptx


AddType audio/x-realaudio .ra .ram
AddType application/x-shockwave-flash .swf
AddType application/x-tar .tar
AddType image/tiff .tif .tiff
AddType audio/wav .wav
AddType audio/wma .wma
AddType application/vnd.ms-write .wri
AddType application/vnd.ms-excel .xla .xls .xlsx .xlt .xlw
AddType application/zip .zip
>IfModule/<
>IfModule mod_expires.c<
ExpiresActive On
"ExpiresByType text/css "access plus 1 month
"ExpiresByType application/x-javascript "access plus 1 month
"ExpiresByType text/richtext "access plus 1 day
"ExpiresByType image/svg+xml "access plus 1 day
"ExpiresByType text/plain "access plus 1 day
"ExpiresByType text/xsd "access plus 1 day
"ExpiresByType text/xsl "access plus 1 day
"ExpiresByType video/asf "access plus 1 month
"ExpiresByType video/avi "access plus 1 month
"ExpiresByType image/bmp "access plus 1 month
"ExpiresByType application/java "access plus 1 month
"ExpiresByType video/divx "access plus 1 month
"ExpiresByType application/msword "access plus 1 month
"ExpiresByType application/x-msdownload "access plus 1 month
"ExpiresByType image/gif "access plus 1 month
"ExpiresByType application/x-gzip "access plus 1 month
"ExpiresByType image/x-icon "access plus 1 month
"ExpiresByType image/jpeg "access plus 1 month
"ExpiresByType application/vnd.ms-access "access plus 1 month
"ExpiresByType audio/midi "access plus 1 month
"ExpiresByType video/quicktime "access plus 1 month
"ExpiresByType audio/mpeg "access plus 1 month
"ExpiresByType video/mp4 "access plus 1 month

http://esecurity.ir
73 Htaccess ‫امنیت وب سایت با‬

"ExpiresByType video/mpeg "access plus 1 month


"ExpiresByType application/vnd.ms-project "access plus 1 month
ExpiresByType application/vnd.oasis.opendocument.database "access plus
"1 month
ExpiresByType application/vnd.oasis.opendocument.chart "access plus 1
"month
ExpiresByType application/vnd.oasis.opendocument.formula "access plus
"1 month
ExpiresByType application/vnd.oasis.opendocument.graphics "access plus
"1 month
ExpiresByType application/vnd.oasis.opendocument.presentation "access
"plus 1 month
ExpiresByType application/vnd.oasis.opendocument.spreadsheet "access
"plus 1 month
ExpiresByType application/vnd.oasis.opendocument.text "access plus 1
"month
"ExpiresByType audio/ogg "access plus 1 month
"ExpiresByType application/pdf "access plus 1 month
"ExpiresByType image/png "access plus 1 month
"ExpiresByType application/vnd.ms-powerpoint "access plus 1 month
"ExpiresByType audio/x-realaudio "access plus 1 month
"ExpiresByType application/x-shockwave-flash "access plus 1 month
"ExpiresByType application/x-tar "access plus 1 month
"ExpiresByType image/tiff "access plus 1 month
"ExpiresByType audio/wav "access plus 1 month
"ExpiresByType audio/wma "access plus 1 month
"ExpiresByType application/vnd.ms-write "access plus 1 month
"ExpiresByType application/vnd.ms-excel "access plus 1 month
"ExpiresByType application/zip "access plus 1 month
>IfModule/<
>IfModule mod_deflate.c<
>IfModule mod_setenvif.c<
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4.0[678] no-gzip
BrowserMatch bMSIE !no-gzip !gzip-only-text/html
BrowserMatch bMSI[E] !no-gzip !gzip-only-text/html

http://esecurity.ir
74 Htaccess ‫امنیت وب سایت با‬

>IfModule/<
>IfModule mod_headers.c<
Header append Vary User-Agent env=!dont-vary
>IfModule/<
>IfModule mod_.c<
AddOutputByType DEFLATE text/css application/x-javascript text/html
text/richtext image/svg+xml text/plain text/xsd text/xsl text/xml image/x-icon
>IfModule/<
>IfModule/<
>"$FilesMatch "\.(css|js|CSS|JS)<
>IfModule mod_headers.c<
"Header set Pragma "public
"Header append Cache-Control "public, must-revalidate, -revalidate
>IfModule/<
FileETag MTime Size
>IfModule mod_headers.c<
"Header set X-Powered-By "W3 Total Cache/0.9.1.3
>IfModule/<
>FilesMatch/<
FilesMatch <
>"$"\.(rtf|rtx|svg|svgz|txt|xsd|xsl|RTF|RTX|SVG|SVGZ|TXT|XSD|XSL|)
>IfModule mod_headers.c<
"Header set Pragma "public
"Header append Cache-Control "public, must-revalidate, -revalidate
>IfModule/<
FileETag MTime Size
>IfModule mod_headers.c<
"Header set X-Powered-By "W3 Total Cache/0.9.1.3
>IfModule/<
>FilesMatch/<
FilesMatch <
"\.(asf|asx|wax|wmv|wmx|avi|bmp|class|divx|doc|docx|exe|gif|gz|gzip|ico|jpg

http://esecurity.ir
75 Htaccess ‫امنیت وب سایت با‬

|jpeg|jpe|mdb|mid|midi|mov|qt|mp3|m4a|mp4|m4v|mpeg|mpg|mpe|mpp|odb
|odc|odf|odg|odp|ods|odt|ogg|pdf|png|pot|pps|ppt|pptx|ra|ram|swf|tar|tif|tiff|w
av|wma|wri|xla|xls|xlsx|xlt|xlw|zip|ASF|ASX|WAX|WMV|WMX|AVI|BMP|CLA
SS|DIVX|DOC|DOCX|EXE|GIF|GZ|GZIP|ICO|JPG|JPEG|JPE|MDB|MID|MI
DI|MOV|QT|MP3|M4A|MP4|M4V|MPEG|MPG|MPE|MPP|ODB|ODC|ODF|O
DG|ODP|ODS|ODT|OGG|PDF|PNG|POT|PPS|PPT|PPTX|RA|RAM|SWF|T
>"$AR|TIF|TIFF|WAV|WMA|WRI|XLA|XLS|XLSX|XLT|XLW|ZIP)
>IfModule mod_headers.c<
"Header set Pragma "public
"Header append Cache-Control "public, must-revalidate, -revalidate
>IfModule/<
FileETag MTime Size
>IfModule mod_headers.c<
"Header set X-Powered-By "W3 Total Cache/0.9.1.3
>IfModule/<
>FilesMatch/<

>Ifmodule mod_php4.c<
php_value upload_max_filesize 2M
php_value max_execution_time 30
php_value max_input_time 60
php_value memory_limit 32M
php_value post_max_size 8M
php_flag register_globals off
php_flag display_errors off
php_flag file_uploads on
php_flag log_errors off
php_flag output_buffering off
php_flag register_argc_argv on
php_flag magic_quotes_gpc off
php_flag magic_quotes_runtime off
php_flag magic_quotes_sybase off
php_flag mysql.allow_persistent off
php_flag register_long_arrays on
php_flag allow_url_fopen on

http://esecurity.ir
76 Htaccess ‫امنیت وب سایت با‬

php_flag cgi.force_redirect on
php_flag enable_dl on
>Ifmodule/<

>Ifmodule mod_php5.c<
php_value upload_max_filesize 2M
php_value max_execution_time 30
php_value max_input_time 60
php_value memory_limit 32M
php_value post_max_size 8M
php_flag register_globals off
php_flag display_errors off
php_flag file_uploads on
php_flag log_errors off
php_flag output_buffering off
php_flag register_argc_argv on
php_flag magic_quotes_gpc off
php_flag magic_quotes_runtime off
php_flag magic_quotes_sybase off
php_flag mysql.allow_persistent off
php_flag register_long_arrays on
php_flag allow_url_fopen on
php_flag cgi.force_redirect on
php_flag enable_dl on
>Ifmodule/<

. ‫ خودشون اضافه كنن‬httaccess ‫كسایی هم كه وی بی سئو و سایت مپ ندارن این رو آخر‬


:‫کد‬
BEGIN Compress text files #
>ifModule mod_deflate.c<
>"$filesMatch "\.(css|js|x?html?|php)<
SetOutputFilter DEFLATE

http://esecurity.ir
77 Htaccess ‫امنیت وب سایت با‬

>filesMatch/<
>ifModule/<
END Compress text files #

BEGIN Expire headers #


>ifModule mod_expires.c<
ExpiresActive On
"ExpiresDefault "access plus 1 seconds
"ExpiresByType image/x-icon "access plus 2592000 seconds
"ExpiresByType image/jpeg "access plus 2592000 seconds
"ExpiresByType image/png "access plus 2592000 seconds
"ExpiresByType image/gif "access plus 2592000 seconds
ExpiresByType application/x-shockwave-flash "access plus 2592000
"seconds
"ExpiresByType text/css "access plus 604800 seconds
"ExpiresByType text/javascript "access plus 216000 seconds
"ExpiresByType application/javascript "access plus 216000 seconds
"ExpiresByType application/x-javascript "access plus 216000 seconds
"ExpiresByType text/html "access plus 600 seconds
"ExpiresByType application/xhtml+xml "access plus 600 seconds
>ifModule/<
END Expire headers #

BEGIN Cache-Control Headers #


>ifModule mod_headers.c<
>"$filesMatch "\.(ico|jpe?g|png|gif|swf)<
"Header set Cache-Control "max-age=2592000, public
>filesMatch/<
>"$filesMatch "\.(css)<
"Header set Cache-Control "max-age=604800, public
>filesMatch/<
>"$filesMatch "\.(js)<
"Header set Cache-Control "max-age=216000, private
>filesMatch/<

http://esecurity.ir
78 Htaccess ‫امنیت وب سایت با‬

>"$filesMatch "\.(x?html?|php)<
"Header set Cache-Control "max-age=600, private, must-revalidate
>filesMatch/<
>ifModule/<
END Cache-Control Headers #

BEGIN Turn ETags Off #


>ifModule mod_headers.c<
Header unset ETag
>ifModule/<
FileETag None
END Turn ETags Off #

BEGIN Remove Last-Modified Header #


>ifModule mod_headers.c<
Header unset Last-Modified
>ifModule/<
END Remove Last-Modified Header #

>IfModule mod_mime.c<
AddType text/css .css
AddType application/x-javascript .js
AddType text/richtext .rtf .rtx
AddType image/svg+xml .svg .svgz
AddType text/plain .txt
AddType text/xsd .xsd
AddType text/xsl .xsl
AddType video/asf .asf .asx .wax .wmv .wmx
AddType video/avi .avi
AddType image/bmp .bmp
AddType application/java .class
AddType video/divx .divx
AddType application/msword .doc .docx
AddType application/x-msdownload .exe

http://esecurity.ir
79 Htaccess ‫امنیت وب سایت با‬

AddType image/gif .gif


AddType application/x-gzip .gz .gzip
AddType image/x-icon .ico
AddType image/jpeg .jpg .jpeg .jpe
AddType application/vnd.ms-access .mdb
AddType audio/midi .mid .midi
AddType video/quicktime .mov .qt
AddType audio/mpeg .mp3 .m4a
AddType video/mp4 .mp4 .m4v
AddType video/mpeg .mpeg .mpg .mpe
AddType application/vnd.ms-project .mpp
AddType application/vnd.oasis.opendocument.database .odb
AddType application/vnd.oasis.opendocument.chart .odc
AddType application/vnd.oasis.opendocument.formula .odf
AddType application/vnd.oasis.opendocument.graphics .odg
AddType application/vnd.oasis.opendocument.presentation .odp
AddType application/vnd.oasis.opendocument.spreadsheet .ods
AddType application/vnd.oasis.opendocument.text .odt
AddType audio/ogg .ogg
AddType application/pdf .pdf
AddType image/png .png
AddType application/vnd.ms-powerpoint .pot .pps .ppt .pptx
AddType audio/x-realaudio .ra .ram
AddType application/x-shockwave-flash .swf
AddType application/x-tar .tar
AddType image/tiff .tif .tiff
AddType audio/wav .wav
AddType audio/wma .wma
AddType application/vnd.ms-write .wri
AddType application/vnd.ms-excel .xla .xls .xlsx .xlt .xlw
AddType application/zip .zip
>IfModule/<
>IfModule mod_expires.c<
ExpiresActive On
"ExpiresByType text/css "access plus 1 month
"ExpiresByType application/x-javascript "access plus 1 month

http://esecurity.ir
80 Htaccess ‫امنیت وب سایت با‬

"ExpiresByType text/richtext "access plus 1 day


"ExpiresByType image/svg+xml "access plus 1 day
"ExpiresByType text/plain "access plus 1 day
"ExpiresByType text/xsd "access plus 1 day
"ExpiresByType text/xsl "access plus 1 day
"ExpiresByType video/asf "access plus 1 month
"ExpiresByType video/avi "access plus 1 month
"ExpiresByType image/bmp "access plus 1 month
"ExpiresByType application/java "access plus 1 month
"ExpiresByType video/divx "access plus 1 month
"ExpiresByType application/msword "access plus 1 month
"ExpiresByType application/x-msdownload "access plus 1 month
"ExpiresByType image/gif "access plus 1 month
"ExpiresByType application/x-gzip "access plus 1 month
"ExpiresByType image/x-icon "access plus 1 month
"ExpiresByType image/jpeg "access plus 1 month
"ExpiresByType application/vnd.ms-access "access plus 1 month
"ExpiresByType audio/midi "access plus 1 month
"ExpiresByType video/quicktime "access plus 1 month
"ExpiresByType audio/mpeg "access plus 1 month
"ExpiresByType video/mp4 "access plus 1 month
"ExpiresByType video/mpeg "access plus 1 month
"ExpiresByType application/vnd.ms-project "access plus 1 month
ExpiresByType application/vnd.oasis.opendocument.database "access plus
"1 month
ExpiresByType application/vnd.oasis.opendocument.chart "access plus 1
"month
ExpiresByType application/vnd.oasis.opendocument.formula "access plus
"1 month
ExpiresByType application/vnd.oasis.opendocument.graphics "access plus
"1 month
ExpiresByType application/vnd.oasis.opendocument.presentation "access
"plus 1 month
ExpiresByType application/vnd.oasis.opendocument.spreadsheet "access
"plus 1 month

http://esecurity.ir
81 Htaccess ‫امنیت وب سایت با‬

ExpiresByType application/vnd.oasis.opendocument.text "access plus 1


"month
"ExpiresByType audio/ogg "access plus 1 month
"ExpiresByType application/pdf "access plus 1 month
"ExpiresByType image/png "access plus 1 month
"ExpiresByType application/vnd.ms-powerpoint "access plus 1 month
"ExpiresByType audio/x-realaudio "access plus 1 month
"ExpiresByType application/x-shockwave-flash "access plus 1 month
"ExpiresByType application/x-tar "access plus 1 month
"ExpiresByType image/tiff "access plus 1 month
"ExpiresByType audio/wav "access plus 1 month
"ExpiresByType audio/wma "access plus 1 month
"ExpiresByType application/vnd.ms-write "access plus 1 month
"ExpiresByType application/vnd.ms-excel "access plus 1 month
"ExpiresByType application/zip "access plus 1 month
>IfModule/<
>IfModule mod_deflate.c<
>IfModule mod_setenvif.c<
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4.0[678] no-gzip
BrowserMatch bMSIE !no-gzip !gzip-only-text/html
BrowserMatch bMSI[E] !no-gzip !gzip-only-text/html
>IfModule/<
>IfModule mod_headers.c<
Header append Vary User-Agent env=!dont-vary
>IfModule/<
>IfModule mod_.c<
AddOutputByType DEFLATE text/css application/x-javascript text/html
text/richtext image/svg+xml text/plain text/xsd text/xsl text/xml image/x-icon
>IfModule/<
>IfModule/<
>"$FilesMatch "\.(css|js|CSS|JS)<
>IfModule mod_headers.c<
"Header set Pragma "public

http://esecurity.ir
82 Htaccess ‫امنیت وب سایت با‬

"Header append Cache-Control "public, must-revalidate, -revalidate


>IfModule/<
FileETag MTime Size
>IfModule mod_headers.c<
"Header set X-Powered-By "W3 Total Cache/0.9.1.3
>IfModule/<
>FilesMatch/<
FilesMatch <
>"$"\.(rtf|rtx|svg|svgz|txt|xsd|xsl|RTF|RTX|SVG|SVGZ|TXT|XSD|XSL|)
>IfModule mod_headers.c<
"Header set Pragma "public
"Header append Cache-Control "public, must-revalidate, -revalidate
>IfModule/<
FileETag MTime Size
>IfModule mod_headers.c<
"Header set X-Powered-By "W3 Total Cache/0.9.1.3
>IfModule/<
>FilesMatch/<
FilesMatch <
"\.(asf|asx|wax|wmv|wmx|avi|bmp|class|divx|doc|docx|exe|gif|gz|gzip|ico|jpg
|jpeg|jpe|mdb|mid|midi|mov|qt|mp3|m4a|mp4|m4v|mpeg|mpg|mpe|mpp|odb
|odc|odf|odg|odp|ods|odt|ogg|pdf|png|pot|pps|ppt|pptx|ra|ram|swf|tar|tif|tiff|w
av|wma|wri|xla|xls|xlsx|xlt|xlw|zip|ASF|ASX|WAX|WMV|WMX|AVI|BMP|CLA
SS|DIVX|DOC|DOCX|EXE|GIF|GZ|GZIP|ICO|JPG|JPEG|JPE|MDB|MID|MI
DI|MOV|QT|MP3|M4A|MP4|M4V|MPEG|MPG|MPE|MPP|ODB|ODC|ODF|O
DG|ODP|ODS|ODT|OGG|PDF|PNG|POT|PPS|PPT|PPTX|RA|RAM|SWF|T
>"$AR|TIF|TIFF|WAV|WMA|WRI|XLA|XLS|XLSX|XLT|XLW|ZIP)
>IfModule mod_headers.c<
"Header set Pragma "public
"Header append Cache-Control "public, must-revalidate, -revalidate
>IfModule/<
FileETag MTime Size
>IfModule mod_headers.c<

http://esecurity.ir
83 Htaccess ‫امنیت وب سایت با‬

"Header set X-Powered-By "W3 Total Cache/0.9.1.3


>IfModule/<
>FilesMatch/<

>Ifmodule mod_php4.c<
php_value upload_max_filesize 2M
php_value max_execution_time 30
php_value max_input_time 60
php_value memory_limit 32M
php_value post_max_size 8M
php_flag register_globals off
php_flag display_errors off
php_flag file_uploads on
php_flag log_errors off
php_flag output_buffering off
php_flag register_argc_argv on
php_flag magic_quotes_gpc off
php_flag magic_quotes_runtime off
php_flag magic_quotes_sybase off
php_flag mysql.allow_persistent off
php_flag register_long_arrays on
php_flag allow_url_fopen on
php_flag cgi.force_redirect on
php_flag enable_dl on
>Ifmodule/<

>Ifmodule mod_php5.c<
php_value upload_max_filesize 2M
php_value max_execution_time 30
php_value max_input_time 60
php_value memory_limit 32M
php_value post_max_size 8M
php_flag register_globals off
php_flag display_errors off
php_flag file_uploads on

http://esecurity.ir
84 Htaccess ‫امنیت وب سایت با‬

php_flag log_errors off


php_flag output_buffering off
php_flag register_argc_argv on
php_flag magic_quotes_gpc off
php_flag magic_quotes_runtime off
php_flag magic_quotes_sybase off
php_flag mysql.allow_persistent off
php_flag register_long_arrays on
php_flag allow_url_fopen on
php_flag cgi.force_redirect on
php_flag enable_dl on
>Ifmodule/<

Htaccess. ‫ابزارهای تولید خودكار دستورات‬

‫ آشتتنا شتتدید فصتتد دارا تعدادی از اب ارهای تولید‬Htaccess ‫حال که با دستتتورات اصتتلی فایل‬
:‫خودکار دستورات را به شما معرفی کنب‬

Htaccess Builder

ht t p://ht accessbui l der.com

http://esecurity.ir
85 Htaccess ‫امنیت وب سایت با‬


htaccess redirect generator

ht t p://www.ht accessredi rect .net

htaccessEditor – Create a .htaccess File

http://esecurity.ir
86 Htaccess ‫امنیت وب سایت با‬

ht t p://www.ht accessedi t or.com/en.sht ml


Mod Rewrite Generator by GenerateIt.net

ht t p://www.generat ei t .net /mod-rewri t e/i ndex.php

http://esecurity.ir
87 Htaccess ‫امنیت وب سایت با‬

‫منابع‬

http://www.askapache.com/category/htaccess/
https://www.branded3.com/blog/htaccess-mod_rewrite-ultimate-guide/

http://esecurity.ir
88 Htaccess ‫امنیت وب سایت با‬

http://serverfault.com/questions/214512/redirect-change-urls-or-redirect-
http-to-https-in-apache-everything-you-ever
http://wiki.apache.org/httpd/Htaccess
http://httpd.apache.org/docs/current/howto/htaccess.html

http://esecurity.ir

You might also like