راه اندازی htaccess راهنمای کامل فایل htaccess - تنظیم تغییر مسیرها و مدیریت پیکربندی وب سرور فایل htaccess تنظیمات سرور را تغییر می دهد که بر

راه حل
  • نحو فایل htaccess
  • پیکربندی دسترسی htaccess
  • اصلاح URL در htaccess
  • راه اندازی تغییر مسیرها در htaccess
  • پیکربندی صفحات خطا در htaccess
  • کش در htaccess
  • فشرده سازی فایل ها در htaccess
  • دایرکتوری های قفل کردن رمز عبور
  • رمزگذاری
  • نسخه PHP در پوشه دلخواه و تغییر هندلر بر اساس نوع فایل

HTACCESS FILE SYNTAX

تمام دستورات از فایل htaccess دقیقاً به گونه ای اجرا می شوند که گویی در global قرار داده شده اند فایل پیکربندی، فقط در داخل بخشنامه . این به شما اجازه نمی‌دهد تنظیمات جهانی را تغییر دهید، اما می‌توانید رفتار برنامه را در پوشه‌هایی که حق دسترسی به آن‌ها را دارید تنظیم کنید.

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

فرمان پارامتر1 parameter2 پرچم ها

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

به دسکتاپ cPanel خود بروید و به " مدیر فایل"

به پوشه public_html بروید و یک فایل به نام ".htaccess" ایجاد کنید.

پوشه مورد نظر و فایل htaccess. را در پوشه public_html یا بالاتر ایجاد کنید.

نمایشگر را روشن کنید فایل های مخفی، در بخش "تنظیمات" در سمت راست، در بالا.

و با کلیک راست روی فایل و انتخاب Edit فایل htaccess را ویرایش کنید

راه اندازی دسترسی HTACCESS

اغلب از htaccess برای کنترل دسترسی به یک پوشه استفاده می شود. سه دستور برای کنترل دسترسی استفاده می شود:

  • سفارش- سفارش؛
  • انکار- ممنوع کرده است؛
  • اجازه- اجازه.

ابتدا با استفاده از گزینه order باید مشخص کنید که دستورات به چه ترتیبی اجرا شوند، فقط این دستور مهم است و فرقی نمی کند که به چه ترتیبی در فایل قرار گرفته باشند.

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

دستور رد، اجازه
انکار از همه

اما ما همچنین می توانیم فقط از زیر شبکه یا آدرس IP مورد نظر اجازه دسترسی داشته باشیم:

دستور رد، اجازه
انکار از همه
اجازه 192.168.0.

می توانید از cPanel برای مسدود کردن آدرس های IP استفاده کنید


اگر Deny,Allow مشخص شده باشد، بررسی ها به ترتیب انجام می شود. ابتدا همه دستورات را رد می‌کنند، سپس همه دستورالعمل‌ها را مجاز می‌کنند و اگر هیچ‌کدام از شرایط مطابقت نداشت، درخواست حذف می‌شود، با اجازه، رد، چنین درخواستی به طور پیش‌فرض رد می‌شود. به عنوان مثال، مثال قبلی را می توان اینگونه نوشت:

دستور اجازه، انکار
اجازه 192.168.0.

تغییر URL در HTACCESS

رایج ترین استفاده از htaccess تغییر آدرس ها در زمان اجرا یا تغییر مسیر است. ماژول mod_rewrite مسئول این عملکرد است و معمولاً در اکثر تنظیمات آپاچی فعال است.

اصلاح URL در htacces با استفاده از سه دستور العمل انجام می شود RewriteBase، که پیشوند آدرس را مشخص می کند، RewriteCondانطباق را تأیید می کند و RewriteRule- اگر همه قوانین تطبیق مطابقت داشته باشند URL را مطابق عبارت معمولی تغییر می دهد.

ابتدا باید Mod_Rewrite را فعال کنید، در صورتی که ماژول هنوز فعال نیست:

بازنویسی موتور روشن است

مشخص کنید که ریشه باید به عنوان پیشوند برای URL استفاده شود:

و ما به طور خودکار جایگزین خواهیم کرد آدرس URLاز index.html تا index.php، توجه داشته باشید که URL منبع، مسیر فایل درخواستی نسبت به محل فایل htaccess است:

RewriteRule index.html /index.php

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

  • ^ - ابتدای خط؛
  • $ - آخر خط؛
  • . - هر شخصیت؛
  • * - هر تعداد از هر شخصیت.
  • ? - یک نماد خاص؛
  • - دنباله ای از شخصیت ها، به عنوان مثال، از 0 تا 9؛
  • | - نماد یا یک گروه یا گروه دیگر انتخاب شده است.
  • () - برای انتخاب گروه های شخصیت استفاده می شود.

در عبارات منظم htaccess، می‌توانید از متغیرهایی با داده‌های به‌دست‌آمده از سرصفحه‌های درخواست استفاده کنید، برای مثال:

  • %(HTTP_USER_AGENT)- قسمت User-Agent که توسط مرورگر کاربر منتقل می شود.
  • % (REMOTE_ADDR)- آدرس IP کاربر؛
  • %(REQUEST_URI)- URI درخواستی؛
  • % (QUERY_STRING)- پارامترهای پرس و جو بعد از علامت ?.

اینها متداول ترین متغیرهایی هستند که مورد استفاده قرار می گیرند، اما تعداد بیشتری از آنها وجود دارد، می توانید بقیه را در اسناد رسمی بیابید. عبارات منظم بیشتر باز می شوند فرصت های گستردهبرای مثال می توانید در تمام صفحات html را با php جایگزین کنید:

بازنویسی موتور روشن.
RewriteBase /;

دستورالعمل RewriteCond انعطاف‌پذیری بیشتری می‌دهد، می‌توانید انتخاب کنید که کدام آدرس‌ها اصلاح را اعمال کنید، به عنوان مثال، ما داده‌ها را فقط برای نسخه www دوباره تعریف می‌کنیم:

RewriteBase /;
RewriteCond % (REMOTE_HOST) ^www.site.ru$
RewriteRule ^(.*)\.html$1.php

به این ترتیب می توانید هر نوع تغییری را در URL های خود انجام دهید بدون اینکه در واقع به جایی هدایت کنید. اما سپس به نحوه انجام تغییر مسیرها خواهیم پرداخت.

راه اندازی تغییر مسیرها در HTACCESS

درباره تغییر مسیر SSL از http به https بیشتر بیاموزید.

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

ساده ترین تغییر مسیر را می توان بدون mod_rewrite با این خط انجام داد:

تغییر مسیر 301 /index.html http://www.site.ru/index.php

اما معمولاً تغییر مسیرهایی با تأثیر گسترده‌تر مورد نیاز است. همه چیز بسیار شبیه به هم به نظر می رسد، فقط اکنون از یک پرچم برای عدم حساسیت به حروف بزرگ، [L] برای توقف پردازش و [R] برای تغییر مسیر استفاده می کنیم. به عنوان مثال، تغییر مسیر htaccess از یک نسخه بدون www به دامنه با www:

RewriteCond %(HTTP_HOST) ^site\.ru$
RewriteRule ^(.*)$ http://www.site.ru/$1

مقدار R=301 به معنی کد ریدایرکتی است که به کلاینت بازگردانده می شود، می توانید از 301، 302 و غیره استفاده کنید. ریدایرکت htaccess از دامنه www به دامنه بدون پیشوند به این صورت خواهد بود:

RewriteCond %(HTTP_HOST) ^www.site\.ru$
RewriteRule ^(.*)$ http://site.ru/$1

به همین ترتیب، می توانید تغییر مسیر را انجام دهید:

RewriteRule ^old_address /new_address/$1

تغییر مسیر از نسخه http به https:

RewriteCond %(SERVER_PORT) ^80$
RewriteCond %(HTTP)=روشن
RewriteRule ^(.*)$ https://site.ru/$1

RewriteEngine در RewriteCond %(SERVER_PORT) !^443$ RewriteRule.* https://%(SERVER_NAME)%(REQUEST_URI)

پیکربندی صفحات خطا در HTACCESS

اگر در طول تولید صفحه خطایی رخ دهد، وب سرور یک پیام کوتاه و یک کد خطا صادر می کند. اما اگر برای هر خطا یک صفحه جداگانه با تصاویر و توضیح کامل ایجاد کنید، برای کاربران بسیار واضح تر خواهد بود که چه اتفاقی می افتد.

تنظیم htaccess برای این مورد بسیار مفید خواهد بود. می توانید از دستورالعمل ErrorDocument استفاده کنید. با آن می توانید html صفحه را برای خطاهای 4xx و 5xx تنظیم کنید. به عنوان مثال، برای 404:

ErrorDocument 404 http://site.ru/error/404.shtml
ErrorDocument 403 http://site.ru/error/403.shtml
ErrorDocument 401 http://site.ru/error/401.shtml
ErrorDocument 500 http://site.ru/error/500.shtml

اگر صفحات خطا کار نمی کنند، ببینید.

کش در HTACCESS

مرورگر به شما امکان می دهد تصاویر، فایل های اسکریپت، سبک ها و سایر فایل های رسانه ای را برای مدت زمان مشخصی در حافظه پنهان خود ذخیره کنید. طول عمر کش توسط وب سرور با استفاده از هدرهای خاص تنظیم می شود. آنها را می توان با استفاده از ماژول expires پیکربندی کرد.

به‌طور پیش‌فرض، ما در حال حاضر حافظه پنهان را برای همه کلاینت‌ها فعال کرده‌ایم، و شما نیازی به انجام کاری ندارید.اما شما می توانید برای خودتان پیکربندی مجدد کنید.

ابتدا ماژول را فعال می کنیم و دوره پیش فرض کش را تنظیم می کنیم:

منقضی می شود فعال است
Expires پیش فرض "دسترسی به اضافه 1 ماه"

اکنون می‌توانیم کش را برای هر نوع فایل mime پیکربندی کنیم:

ExpiresByType text/html "دسترسی به اضافه 1 ماه 15 روز 2 ساعت"
ExpiresByType image/gif "دسترسی به اضافه 5 ساعت و 3 دقیقه"
ExpiresByType image/x-icon "دسترسی به اضافه 2592000 ثانیه"

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

  • تصویر/x-icon;
  • تصویر/jpeg;
  • تصویر/png;
  • تصویر/گیف;
  • برنامه/x-shockwave-flash;
  • متن/css;
  • متن/جاوا اسکریپت؛
  • برنامه/جاوا اسکریپت؛
  • برنامه/x-javascript;
  • متن/html;
  • application/xhtml+xml;

برای اطمینان از اینکه این ساختار خطا ایجاد نمی کند، آن را در یک if قرار دهید:


فشرده سازی فایل ها با HTACCESS

برای فشرده سازی در آپاچی می توانید از ماژول deflate استفاده کنید. همچنین می توانید از امکانات سی پنل، .

در اینجا کافی است به سادگی انواع mime فایل هایی که باید فشرده شوند را فهرست کنید. مثلا:

AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/css text/javascript application/javascript application/x-javascript

برای بررسی اینکه آیا ماژول پشتیبانی می‌شود یا خیر، می‌توانید یک عبارت if را ضمیمه کنید:


دایرکتوری های قفل کردن رمز عبور

از قسمت cPanel استفاده کنید

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

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

برای کسانی که قبلاً با این تنظیمات روبرو شده اند، می توانند مستقیماً به بخش 2 یا 3 بروید.

چگونه یک فایل htaccess برای یک وب سایت ایجاد کنیم؟

ابتدا باید یک ویرایشگر متن به نام Notepad++ را از notepad-plus-plus.org دانلود کنید. این ویرایشگر ویژگی های بهبود یافته ای دارد: کدهای برجسته، فرمت های فایل بیشتری را پشتیبانی می کند. در آینده به آن نیاز خواهید داشت، وقتی راحت شدید، باید کد را ویرایش کنید و فقط این ویرایشگر به دستیار کوچک و توانا شما تبدیل خواهد شد.

پس از نصب، آن را اجرا کنید و روی منو کلیک کنید فایلو از منوی کشویی انتخاب کنید جدید

سپس باید کلمه را از منو انتخاب کنید ویرایش کنیدو از منوی کشویی انتخاب کنید تبدیل پایان خطو سپس انتخاب کنید تبدیل به فرمت یونیکس.

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

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

چگونه با کمک فایل htaccess یک سایت را از هک ایمن کنیم؟

امنیت است حال خوبو موفقیت تضمین شده
عجیب شروع شد؟ ... آگاهانه شرح را با این کلمه آغاز کردم. بسیاری از سایت ها از هک شدن رنج می برند و حملات هکرها، که نتیجه آن از دست دادن اطلاعات () ، از دست دادن عملکرد سایت (حتی اگر موقتی باشد) است و من قبلاً در مورد استرس و نگرانی ها سکوت کرده ام - همه اینها در نهایت بر درآمد شما از منبع تأثیر می گذارد.

مرعوب؟ بله، اما این شوخی نیست.

فایل htaccess یک فایل اضافی برای تنظیم و پیکربندی منبع شما است. به عنوان یک قاعده، در فهرست اصلی منبع شما قرار دارد.

اگر چنین فایلی ندارید، می توانید آن را طبق دستورالعمل های بخش 1 () ایجاد کنید.

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

هر تعداد فایلی که دوست دارید در سایت شما وجود دارد. حقوق آن معمولاً برای دایرکتوری که در آن قرار دارد و همچنین برای همه زیرپوشه های این دایرکتوری اعمال می شود.

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

حداقل تنظیمات فایل htaccess؟

پس از ایجاد سایت، ممکن است از قبل چنین فایلی داشته باشید و از قبل حاوی اطلاعات زیر باشد. به عنوان یک قاعده، این می تواند در سایت هایی با موتور وردپرس () باشد.

دستور اجازه، انکار از همه راضی کردن همه

محافظت از فایل wp-config.php

این فایل حاوی پارامترهای بسیار مهم سایت و حتی لاگین و رمز عبور پایگاه داده است. با رها کردن این شکاف، 100٪ در را برای شکستن باز می گذارید.

از 00.00.00.00 مجاز است

به جای 00.00.00.00، باید آدرس استاتیک خود را مشخص کنید.

محافظت از دایرکتوری wp-content

این کاتالوگ حاوی اطلاعات ضروری زیادی است که ارزش هدر دادن آن را نیز ندارد و به همین دلیل آن را می بندیم. برای انجام این کار، باید همان فایل htaccess را ایجاد کنید یا آن را از دایرکتوری اصلی سایت خود کپی کنید و این کد را در آنجا قرار دهید (پس از حذف همه چیز از آن). سپس فایل به دست آمده را در پوشه wp-content سایت خود قرار دهید.

در این کد باید در نظر داشته باشید که گاهی xml یا css برای برخی باز نمی شود، سپس باید این داده ها را از کد حذف کنید.

1 2 3 4 5 دستور انکار، اجازه انکار از همه اجازه از همه

دستور انکار، اجازه انکار از همه اجازه از همه

از اسکنرها و ربات های مخرب محافظت کنید

تعداد زیادی برنامه ربات در شبکه وجود دارد که بطور خودکار دائماً در اینترنت گشت و گذار می کنند و اطلاعات مربوط به آن را جمع آوری می کنند نقاط ضعفیا کدهای مخرب را به سایت های ناامن وارد کنید. برای محافظت از خود در برابر این نوع تهدید، باید این کد را وارد کنید.

1 2 3 4 5 # BEGIN Bad Bot Blocker #SetEnvIfNoCase User-Agent "Abonti|aggregator|AhrefsBot|asterias|BDCbot|BLEXBot|BuiltBotTough|Bullseye|BunnySlippers|ca\-crawler|CCBot|CegbFemos|Chegbfeicockete| DittoSpyder|DOC|DotBot|دانلود Ninja|EasouSpider|EmailCollector|EmailSiphon|EmailWolf|EroCrawler|Exabot|ExtractorPro|Fasterfox|FeedBooster|Foobot|Genieo|grub\-client|Harckveaurry|Harve-BoosterHarvest| IstellaBot|Java/1\.|JennyBot|k2spider|Kenjin Spider|Keyword Density/0\.9|larbin|LexiBot|libWeb|libwww|LinkextractorPro|linko|LinkScan/8\.1a Unix|LinkWalker|LNSpiderguy|lwp\- بی اهمیت|جنگی|ماتا هاری|MaxPointCrawler|MegaIndex|کنترل URL مایکروسافت|MIIxpc|Mippin|Missigua Locator|Mister PiX|MJ12bot|moget|MSIECrawler|NetAnts|NICErsPRO|Niki\-Bot|NPBotcientOffline|Nuts| \.com|PHP/5\.\(|ProPowerBot/2\.14|ProWebWalker|Python\-urllib|QueryN Metasearch|RepoMonkey|RMA|SemrushBot|SeznamBot|SISTRIX|sitecheck\.Internetseer\.com|SitePreBot| |Sogou|SpankBot|spanner|spbot|Spinn3r|suzuran|Szukacz/1\.4|Teleport|Telesoft|The Intraformant|TheNomad|TightTwatBot|Titan|toCrawl/UrlDispatcher|True_Robot|Turingos|Urbityinning VCI|WBSearchBot|Web Downloader/6\.9|Web Image Collector|WebAuto|WebBandit|WebCopier|WebEnhancer|WebmasterWorldForumBot|WebReaper|WebSauger|Website Quester|Webster Pro|WebStripper|W-W-Box|Box گردآورنده\-E|Xenu|yandex|Zao|Zeus|ZyBORG|coccoc|Incutio|lmspider|memoryBot|SemrushBot|سرف|ناشناس|فایل‌های آپتایم" bad_bot #SetEnvIfNoCase ارجاع دهنده "Abonti|aggregator|Ahrefi|BTasteril|BTasteri| |Bullseye|BunnySlippers|ca\-crawler|CCBot|Cegbfeieh|CheeseBot|CherryPicker|CopyRightCheck|cosmos|Crescent|discobot|DittoSpyder|DOC|DotBot|دانلود Ninja|EasouSpider|EmailroWsterrawEx |FeedBooster|Foobot|Genieo|grub\-client|Harvest|hloader|httplib|HTTrack|humanlinks|ieautodiscovery|InfoNaviRobot|IstellaBot|Java/1\.|JennyBot|k2spider|Kenjin Spider|Keyword Density|0. |LexiBot|libWeb|libwww|LinkextractorPro|linko|LinkScan/8\.1a Unix|LinkWalker|LNSpiderguy|lwp\-trivial|magpie|Mata Hari|MaxPointCrawler|MegaIndex|Microsoft URL Control|MIIxpciss|MisteriXc |MJ12bot|moget|MSIECrawler|NetAnts|NICErsPRO|Niki\-Bot|NPBot|Nutch|Offline Explorer|Openfind|panscient\.com|PHP/5\.\(|ProPowerBot/2\.14|ProWebWalker|Python\- urllib|QueryN Metasearch|RepoMonkey|RMA|SemrushBot|SeznamBot|SISTRIX|sitecheck\. Internetseer\.com|SiteSnagger|SnapPreviewBot|Sogou|SpankBot|spanner|spbot|Spinn3r|suzuran|Szukacz/1\.4|Teleport|Telesoft|The Intraformant|TheNomad|TightTwatBot|Titan|toCrawl_RoboturTur/Ur |UbiCrawler|UnisterBot|URLy Warning|VCI|WBSearchBot|Web Downloader/6\.9|Web Image WebBandit|WebAuto|WebBandit|WebCopier|WebEnhancer|WebmasterWorldForumBot|WebReaper|WebSaugere Probox|WebSauger|WebSter|Webot wsr\-agent|WWW\-Collector\-E|Xenu|yandex|Zao|Zeus|ZyBORG|coccoc|Incutio|lmspider|memoryBot|SemrushBot|serf|ناشناس|فایلهای آپتایم" bad_bot #Deny from env=bad_bot # END Bad مسدود کننده ربات

# BEGIN Bad Bot Blocker #SetEnvIfNoCase User-Agent "Abonti|aggregator|AhrefsBot|asterias|BDCbot|BLEXBot|BuiltBotTough|Bullseye|BunnySlippers|ca\-crawler|CCBot|CegbFemos|Chegbfeicockete| DittoSpyder|DOC|DotBot|دانلود Ninja|EasouSpider|EmailCollector|EmailSiphon|EmailWolf|EroCrawler|Exabot|ExtractorPro|Fasterfox|FeedBooster|Foobot|Genieo|grub\-client|Harckveaurry|Harve-BoosterHarvest| IstellaBot|Java/1\.|JennyBot|k2spider|Kenjin Spider|Keyword Density/0\.9|larbin|LexiBot|libWeb|libwww|LinkextractorPro|linko|LinkScan/8\.1a Unix|LinkWalker|LNSpiderguy|lwp\- بی اهمیت|جنگی|ماتا هاری|MaxPointCrawler|MegaIndex|کنترل URL مایکروسافت|MIIxpc|Mippin|Missigua Locator|Mister PiX|MJ12bot|moget|MSIECrawler|NetAnts|NICErsPRO|Niki\-Bot|NPBotcientOffline|Nuts| \.com|PHP/5\.\(|ProPowerBot/2\.14|ProWebWalker|Python\-urllib|QueryN Metasearch|RepoMonkey|RMA|SemrushBot|SeznamBot|SISTRIX|sitecheck\.Internetseer\.com|SitePreBot| |Sogou|SpankBot|spanner|spbot|Spinn3r|suzuran|Szukacz/1\.4|Teleport|Telesoft|The Intraformant|TheNomad|TightTwatBot|Titan|toCrawl/UrlDispatcher|True_Robot|Turingos|Urbityinning VCI|WBSearchBot|Web Downloader/6\.9|Web Image Collector|WebAuto|WebBandit|WebCopier|WebEnhancer|WebmasterWorldForumBot|WebReaper|WebSauger|Website Quester|Webster Pro|WebStripper|W-W-Box|Box گردآورنده\-E|Xenu|yandex|Zao|Zeus|ZyBORG|coccoc|Incutio|lmspider|memoryBot|SemrushBot|سرف|ناشناس|فایل‌های آپتایم" bad_bot #SetEnvIfNoCase ارجاع دهنده "Abonti|aggregator|Ahrefi|BTasteril|BTasteri| |Bullseye|BunnySlippers|ca\-crawler|CCBot|Cegbfeieh|CheeseBot|CherryPicker|CopyRightCheck|cosmos|Crescent|discobot|DittoSpyder|DOC|DotBot|دانلود Ninja|EasouSpider|EmailroWsterrawEx |FeedBooster|Foobot|Genieo|grub\-client|Harvest|hloader|httplib|HTTrack|humanlinks|ieautodiscovery|InfoNaviRobot|IstellaBot|Java/1\.|JennyBot|k2spider|Kenjin Spider|Keyword Density|0. |LexiBot|libWeb|libwww|LinkextractorPro|linko|LinkScan/8\.1a Unix|LinkWalker|LNSpiderguy|lwp\-trivial|magpie|Mata Hari|MaxPointCrawler|MegaIndex|Microsoft URL Control|MIIxpciss|MisteriXc |MJ12bot|moget|MSIECrawler|NetAnts|NICErsPRO|Niki\-Bot|NPBot|Nutch|Offline Explorer|Openfind|panscient\.com|PHP/5\.\(|ProPowerBot/2\.14|ProWebWalker|Python\- urllib|QueryN Metasearch|RepoMonkey|RMA|SemrushBot|SeznamBot|SISTRIX|sitecheck\. Internetseer\.com|SiteSnagger|SnapPreviewBot|Sogou|SpankBot|spanner|spbot|Spinn3r|suzuran|Szukacz/1\.4|Teleport|Telesoft|The Intraformant|TheNomad|TightTwatBot|Titan|toCrawl_RoboturTur/Ur |UbiCrawler|UnisterBot|URLy Warning|VCI|WBSearchBot|Web Downloader/6\.9|Web Image WebBandit|WebAuto|WebBandit|WebCopier|WebEnhancer|WebmasterWorldForumBot|WebReaper|WebSaugere Probox|WebSauger|WebSter|Webot wsr\-agent|WWW\-Collector\-E|Xenu|yandex|Zao|Zeus|ZyBORG|coccoc|Incutio|lmspider|memoryBot|SemrushBot|serf|ناشناس|فایلهای آپتایم" bad_bot #Deny from env=bad_bot # END Bad مسدود کننده ربات

غیرفعال کردن مرور دایرکتوری

همچنین محافظت در برابر مرور دایرکتوری وجود دارد ، زیرا ما قبلاً درگیر محافظت هستیم ، در اینجا می توانید مرور دایرکتوری را نیز محدود کنید. همه نام دایرکتوری‌ها را در وردپرس می‌دانند، اما گاهی اوقات شما برخی از دایرکتوری‌های خود را ایجاد می‌کنید، اما دوست ندارید آن‌ها برای همه شناخته شوند. برای این مورد نیز می توانید از این کد استفاده کنید.

1 2 # فهرست مرور گزینه‌ها همه فهرست‌ها

# فهرست مرور گزینه‌ها همه فهرست‌ها

حفاظت از مدیریت وردپرس

اگر می خواهید برای ورود به پنل مدیریت وردپرس دسترسی دو سطحی ایجاد کنید، باید دستکاری هایی را انجام دهید:
به سایت htaccesstools.com/htpasswd-generator بروید، پنجره زیر باز می شود که در آن باید یک نام کاربری وارد کنید و در خط دوم یک رمز عبور (فقط پیچیده) وارد کنید. وارد نشوید رمزهای عبور سادهنوع 12345 هیچ فایده ای ندارند. بعد، روی دکمه کلیک کنید htpasswd. ایجاد کنیدو فایل را در کامپیوتر خود ذخیره کنید.

ما این فایل را در ریشه سایت خود قرار می دهیم. البته این بهترین مکان نیست، زیرا این مکان بازتر است. اما من فکر می کنم این برای آموزش کافی است و سپس آن را به هر دایرکتوری دیگری منتقل خواهید کرد (فراموش نکنید که مسیر صحیح فایل htpasswd را مشخص کنید).

سپس کد زیر را در فایل روت htaccess خود ذخیره کنید.

این فایل را در ریشه سایت خود قرار دهید، سپس به آن بروید..php

اگر همه کارها را به درستی انجام دادید، پس از ورود به پنل مدیریت، از شما خواسته می شود نام و رمز عبور را وارد کنید

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

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

پیکربندی فایل htaccess پیشرفته

و در این بخشمن تنظیمات پیشرفته تری را ارائه خواهم داد که می توان آنها را به راحتی انجام داد، بنابراین با آبجو، به انتخاب خواننده.

تغییر مسیر صفحات خطا

من پیشنهاد می کنم با تغییر صفحه خطا شروع کنید. این اتفاق زمانی می افتد که یک بازدیدکننده صفحه اشتباهی را باز می کند و به صفحه خطا هدایت می شود، اما بسیاری از افراد خطای 404 را می دانند و همچنین 400، 401، 403، 500 وجود دارد که نشان دهنده خطاهای مختلف است. بنابراین، هنگامی که یک بازدیدکننده به چنین صفحه ای هدایت می شود، ممکن است چنین صفحه ای وجود نداشته باشد، اما صفحه ارائه دهنده شما به سادگی باز می شود، پس از باز شدن آن کاربر صفحه را می بندد و شما این بازدید کننده را از دست می دهید.

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

1 2 3 4 5 6 ErrorDocument 400 /errors/br.html ErrorDocument 401 /errors/aureq.html ErrorDocument 403 /errors/fb.html ErrorDocument 404 /errors/404.html ErrorDocument 500 /errors/serv.html #Replace /errors/ مسیر صفحه خطا

ErrorDocument 400 /errors/br.html ErrorDocument 401 /errors/aureq.html ErrorDocument 403 /errors/fb.html ErrorDocument 404 /errors/404.html ErrorDocument 500 /errors/serv.html #Replace /errors/ مسیر صفحه خطا

تغییر مسیر روی خطاهای 301، 302.

یا به عبارت دیگر، تغییر مسیر برای خطاهای 301 و 302. من چنین تجربه ای را به یاد می آورم که چندین صفحه از قبل فهرست شده را تغییر نام دادم و موتور جستجو آنها را در چند روز بررسی کرد و این صفحات را اشتباه نشان داد، بنابراین این بد است. بنابراین، اگر این اتفاق افتاد، باید یک تغییر مسیر 301 در htaccess، از آدرس قدیمی به آدرس جدید انجام دهید تا باعث عصبانیت موتورهای جستجو نشوید. خوب، علاوه بر این، موارد مختلفی وجود دارد، بنابراین به شما بستگی دارد. در نتیجه اگر بازدیدکننده به آدرس قبلی مراجعه کند به آدرس جدید هدایت می شود و متوجه تغییر مسیر صفحه سایت نمی شود.

Options +FollowSymLinks RewriteEngine در RewriteRule (.*)

مسدود کردن باز شدن تصاویر در سایت شما

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

RewriteEngine در RewriteCond %(HTTP_REFERER) !^http://(.+\.)?your-url\.com/ RewriteCond %(HTTP_REFERER) !^$ #شما باید مسیر تصویر خود را تغییر دهید. RewriteRule .*\.(jpe?g|gif|bmp|png)$ /images/noHL.jpg [L]

آینه های سایت را می چسبانیم

موتورهای جستجو می خواهند دقیقاً موارد تکراری سایت اصلی شما را بدانند، اگر مشکلی نمی خواهید، بهتر است فوراً این کار را انجام دهید. در اینجا آینه اصلی آدرسی خواهد بود که www ندارد. کد را مطابق میل خود تنظیم کنید.

1 2 3 4 Options +FollowSymLinks RewriteEngine در RewriteCond %(HTTP_HOST) ^www.yoursite\.ru$ RewriteRule ^(.*)$ http://yoursite.ru/$1

Options +FollowSymLinks RewriteEngine در RewriteCond %(HTTP_HOST) ^www.yoursite\.ru$ RewriteRule ^(.*)$ http://yoursite.ru/$1

این گزینه برای کسانی که چندین سایت دارند که اطلاعات در آنها کپی شده است مورد نیاز است.

تغییر مسیر به صفحه نخست

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

آپاچی- رایج ترین سرور HTTP. این به صورت رایگان، از جمله متون منبع، توزیع می شود. اسکریپت ها پشتیبانی می شوند CGI(شامل FastCGI), PHP, پرل, جاوا. احراز هویت - پایه ای, خلاصه پیام, TLS (SSL). از آوریل 1996 این محبوب ترین است سرور HTTPدر اینترنت، در آگوست 2007 بر روی 51 درصد از تمام سرورهای وب اجرا می شد.

htaccess- فایل پیکربندی اضافی وب سرور آپاچیو همچنین سرورهای مشابه. به شما امکان می دهد تعداد زیادی پارامتر و مجوزهای اضافی را برای عملکرد وب سرور برای کاربران جداگانه (و همچنین در پوشه های مختلف کاربران فردی) تنظیم کنید، مانند دسترسی به دایرکتوری کنترل شده, تخصیص مجدد انواع فایلو غیره بدون دادن دسترسی به فایل پیکربندی اصلی، یعنی. بدون اینکه بر عملکرد کل سرویس تأثیر بگذارد.

htaccessیک تشبیه است httpd.confبا این تفاوت که فقط دایرکتوری که در آن قرار دارد و دایرکتوری های فرزند آن تاثیر می گذارد. قابلیت استفاده htaccessموجود در هر فهرست کاربری

فایل htaccessرا می توان در هر دایرکتوری سایت قرار داد. دستورالعمل‌های این فایل بر همه فایل‌های دایرکتوری فعلی و همه زیرشاخه‌های آن تأثیر می‌گذارد (مگر اینکه این دستورالعمل‌ها توسط دستورالعمل‌های فایل‌های زیرین لغو شوند. htaccess).

بخشنامه ها htaccessطیف گسترده ای از گزینه ها را برای شخصی سازی سایت خود در اختیار کاربر قرار می دهد، از جمله:










لیستی از تمام دستورالعمل های موجود را می توان مشاهده کرد.

HTTP_ACCEPT

ترجیحات مشتری را در مورد نوع سند شرح می دهد.

REMOTE_ADDR

آدرس IP بازدید کننده

میزبان راه دور .

آدرس بازدید کننده فرم معمولی- مثلا، rt99.net.ru .

REMOTE_IDENT

نام کاربر راه دور. برای مثال دارای فرمت name.host است، www.rtt99.net.ru

REMOTE_USER

مانند REMOTE_IDENT، اما فقط شامل نام است. مثال: کندر

REQUEST_METHOD

به شما امکان می دهد نوع درخواست (GET یا POST) را تعیین کنید. باید تجزیه و تحلیل شود، زیرا نحوه پردازش اطلاعات را تعیین می کند.

SCRIPT_FILENAME

مسیر کامل صفحه وب روی سرور.

PATH_INFO

شامل همه چیزهایی است که به فیلمنامه منتقل شده است.

QUERY_STRING

شامل رشته ای است که هنگام تماس به عنوان درخواست ارسال می شود CGIاسکریپت

AUTH_TYPE

برای شناسایی کاربر استفاده می شود

DOCUMENT_ROOT

شامل مسیر دایرکتوری ریشه سرور است.

SERVER_ADMIN

آدرس پستیمالک سرور در هنگام نصب مشخص شده است.

نام ارائهکننده SERVER_ADDR

آدرس IP سایت شما

SERVER_PORT

پورتی که آپاچی روی آن اجرا می شود.

SERVER_PROTOCOL

نسخه httpپروتکل

SERVER_SOFTWARE

برای مثال نام سرور Apache/1.3.2 (یونیکس)

TIME_YEAR
TIME_MON
TIME_DAY
TIME_HOUR
TIME_MIN
TIME_SEC
TIME_WDAY
زمان

متغیرهایی که برای کار با زمان در قالب های مختلف طراحی شده اند.

API_VERSION

این نسخه است APIمدول آپاچی(رابط داخلی بین سرور و ماژول) در ساخت سرور فعلی، همانطور که در تعریف شده است include/ap_mmn.h.

درخواست

خط کامل http- درخواست ارسال شده توسط مرورگر به سرور (به عنوان مثال، "GET /index.html HTTP/1.1"). این شامل هیچ عنوان اضافی ارسال شده توسط مرورگر نیست.

REQUEST_URI

منبع درخواست شده در رشته درخواست HTTP.

REQUEST_FILENAME

مسیر کامل در سیستم فایل سرور به فایل یا اسکریپت که با این درخواست مطابقت دارد.

IS_SUBREQ

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


همه این چک ها همچنین می توانند قبل از پیشوند باشند علامت تعجب("!") تا مقدار آنها معکوس شود.

Rewrite Engineعملکرد مکانیسم تبدیل را فعال یا غیرفعال می کند. اگر تنظیم شده باشد خاموش، این ماژول اصلا کار نمی کند. توجه داشته باشید که به طور پیش فرض تنظیمات تبدیل به ارث نمی رسد. این بدان معنی است که شما باید برای هر یک از RewriteEngine on Directive داشته باشید میزبان مجازیجایی که می خواهید از این ماژول استفاده کنید.
نحو Rewrite Engineبه شرح زیر است:

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

برای صدور سایت های مختلف برای مرورگرهای مختلف، مطابق با "عامل کاربر:"هدر درخواست، می توانید از دستورالعمل های زیر استفاده کنید:


در جایگزینی، می‌توانید از پرچم‌های ویژه با افزودن دستورالعمل به عنوان آرگومان سوم استفاده کنید RewriteRule. Flags لیست پرچم‌های زیر است که با کاما از هم جدا شده‌اند:

"redirect|R[=code]"
(باعث تغییر مسیر می شود)
پیشوند در View Substitution http://thishost[:thisport]/(ایجاد یک جدید URLاز هر URI) یک تغییر مسیر خارجی (redirect) را شروع می کند. در صورت عدم وجود کد، در جایگزینی پاسخ خواهد بود httpوضعیت 302 (به طور موقت حذف شد). برای توقف فرآیند تبدیل، باید یک پرچم نیز بنویسید "L".

"ممنوع|F[=کد]"
( URL را ممنوع می کند)
این جریان را می سازد URLممنوع است، به عنوان مثال، یک پاسخ بلافاصله برای مشتری ارسال می شود httpوضعیت 403 (ممنوع). از این پرچم در ارتباط با مناسب استفاده کنید RewriteCondsمسدود کردن URLبر اساس برخی معیارها

"رفته|G[=code]"
( URL را "مرده" می کند)
این پرچم جریان را ایجاد می کند URL"مرده"، یعنی بلافاصله ارسال شد httpپاسخ با وضعیت 410 ( رفته). از این پرچم برای علامت گذاری صفحات "مرده" که دیگر وجود ندارند استفاده کنید.

"پروکسی|P[=کد]"
(با پروکسی تماس می گیرد)
این پرچم قسمت عام را به عنوان یک درخواست پروکسی داخلی علامت گذاری می کند و بلافاصله (یعنی فرآیند تبدیل در اینجا متوقف می شود) آن را از طریق ماژول پروکسی عبور می دهد. از این پرچم برای رسیدن به اجرای قدرتمندتر دستورالعمل استفاده کنید. ProxyPass، که برخی از محتواها را در سرورهای راه دور در فضای نام سرور محلی ادغام می کند.

"آخرین|L[=کد]"
(آخرین قانون)
فرآیند تبدیل را در این مرحله متوقف کنید و هیچ قانون تغییر دیگری را اعمال نکنید. از این پرچم برای تبدیل نکردن جریان استفاده کنید URLسایر قوانین دگرگونی که دنبال می شوند.

"بعدی|N[=کد]"
(دور بعد)
فرآیند تبدیل را مجدداً راه اندازی کنید (با قانون اول شروع کنید). در این مورد URLدوباره با برخی شرایط مطابقت دارد، اما نه اصلی URL، آ URLاز آخرین قانون تبدیل خارج شده است. از این پرچم برای راه اندازی مجدد فرآیند تبدیل استفاده کنید، i.e. پرش بدون قید و شرط به ابتدای چرخه

"زنجیره|C[=کد]"
(پیوند به قانون بعدی)
این پرچم قانون فعلی را به قانون بعدی پیوند می دهد (که به نوبه خود می تواند به قانون بعدی و غیره پیوند داده شود). این اثر زیر را دارد: اگر مطابقت با قانون وجود داشته باشد، روند به طور معمول ادامه می یابد، یعنی. پرچم هیچ تاثیری ندارد اگر قانون با شرط مطابقت نداشته باشد، تمام قوانین مرتبط بعدی حذف می شوند.

"type|T=MIME-type [=code]"
(تنظیم اجباری نوع MIME)
نصب اجباری نوع MIMEفایل هدف در نوع MIME. به عنوان مثال، می توان از این برای شبیه سازی استفاده کرد mod_aliasبخشنامه ها ScriptAlias، که تنظیمات را برای همه فایل های داخل فهرست نمایش داده شده مجبور می کند MIMEبرابر تایپ کنید "application/x-httpd-cgi".

"nosubreq|NS[=code]"
(فقط در صورت استعلام غیر داخلی استفاده می شود)
این پرچم به موتور تبدیل دستور می دهد که اگر درخواست فرعی فعلی یک زیرپرسوجویی داخلی است، دستور را رد کند. به عنوان مثال، سوالات فرعی درونی در آپاچیزمانی اتفاق می‌افتد که mod_include تلاش می‌کند اطلاعاتی درباره آن به دست آورد فایل های ممکنپیش فرض برای دایرکتوری ها (index.xxx). با درخواست های فرعی، این همیشه مفید نیست و حتی گاهی اوقات باعث ایجاد مشکل در مجموعه دستورالعمل های تبدیل می شود. از این پرچم برای حذف قوانین خاص استفاده کنید.

"nocase|NC[=code]"
(مورد غیر حساس)
این باعث می شود که حروف قالب غیر حساس باشد، یعنی. هیچ تفاوتی بین "A-Z" و "a-z" وجود ندارد وقتی الگو بر روی جریان اعمال می شود URL.

"qsappend|QSA[=code]"
(رشته پرس و جو اضافه کنید)
این پرچم به موتور تبدیل می گوید که به جای جایگزینی، یک رشته پرس و جو را اضافه کند URLبه یک موجود، در رشته جایگزینی. هنگامی که می خواهید داده های اضافی را با استفاده از دستورالعمل های تبدیل به رشته کوئری اضافه کنید از این استفاده کنید.

"noescape|NE[=code]"
(از URI در خروجی فرار نکنید)

این پرچم ندارد mod_rewriteقوانین عادی فرار را اعمال کنید URIبه نتیجه تحول معمولاً کاراکترهای ویژه (مانند "%"، "$"، ";"، و غیره) با جایگزینی هگزا (به ترتیب "%25"، "%24" و "%3B") حذف می شوند. این پرچم مانع از انجام این کار می شود.

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

در صورت وجود در فایل htaccessهر دستورالعمل ماژول mod_rewriteهیچ چیز به ارث نمی رسد و حالت پیش فرض مانند فایل پیکربندی وب سرور اصلی تنظیم شده است (به طور پیش فرض "خاموش"). بنابراین، اگر به قوانین ترجمه برای یک فهرست خاص نیاز دارید، باید دستورالعمل را وارد کنید. بازنویسی موتور روشن است"V htaccessبرای یک دایرکتوری خاص

هنگام به ارث بردن قوانین از دایرکتوری های بالا و اضافه کردن قوانین جدید فقط به این دایرکتوری، باید موارد زیر را در ابتدا تنظیم کنید: بازنویسی موتور روشن است"و" RewriteOptions ارث می برد" - آخرین دستورالعمل به سرور می گوید که ادامه دهد.

نمونه هایی از استفاده mod_rewriteمیتوانی ببینی

اگر نصب کرده اید سیستم عاملخانواده ها پنجره ها، می توانید به سرور متصل شوید SSH(دستورالعمل های اتصال را می توان یافت) و از ابزار استفاده کنید htpasswd.

در حال دویدن htpasswdبدون پارامتر خواهیم دید:

[ایمیل محافظت شده]~#htpasswd
استفاده:
نام کاربری فایل رمز عبور htpasswd [-cmdps]
رمز عبور نام کاربری پسورد فایل htpasswd -b
-c یک فایل جدید ایجاد کنید.
[ایمیل محافظت شده] ~ #

ما در اینجا به همه گزینه های این دستور نمی پردازیم، اما می توانید جزئیات را خودتان با اجرا بخوانید htpasswd V پوسته یونیکس، یا با مراجعه به صفحه مستندات آپاچی مربوطه.

بنابراین، در ابتدا ما هنوز یک فایل رمز عبور نداریم و باید آن را ایجاد کنیم:

و اکنون می خواهیم یک کاربر دیگر اضافه کنیم. از آنجایی که ما قبلاً یک فایل رمز عبور داریم، به سادگی از گزینه "-c" استفاده نمی کنیم:

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

بیایید یک مثال برای دسترسی به کاربران خاص از یک فایل با رمز عبور ارائه دهیم htpasswd

AuthName" منطقه حفاظت شده، نیاز به مجوز دارد"AuthType Basic AuthUserFile /home/t/test/.authfile به Alexey Konndr Fenix ​​نیاز دارد

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

htaccess(از دسترسی فرامتن انگلیسی) - یک فایل پیکربندی اضافی برای وب سرور آپاچی و برخی سرورهای مشابه دیگر.

در استفاده صحیح، فایل پیکربندی وب سرور آپاچی - .htaccess (دسترسی فرا متنی) بسیار درمان قدرتمنددر جعبه ابزار توسعه دهنده طبق معمول، فایل اصلی در دایرکتوری اصلی وب سرور شما قرار دارد (ممکن است وجود داشته باشد فایل های فردیدر هر پوشه - برای کنترل دسترسی) و با استفاده از هر کدام قابل تنظیم است ویرایشگر متن. در این مقاله 24 قانون برای .htaccess به همراه توضیحی در مورد کاربرد آنها ارائه شده است.

مهم!قاعدتاً فایل htaccess همراه با نصب سایت بر روی هاست (وب سرور) نصب می شود، اما در صورت نبودن آن، می توانید این فایل را با استفاده از notepad ایجاد کنید. برای انجام این کار، دفترچه یادداشت را باز کنید، دستورالعمل های مورد نیاز خود را در آنجا اضافه کنید، نمونه هایی از آنها در زیر آورده شده است، و ذخیره کنید سند متنی، با نام - htaccess. سپس فقط پسوند txt را حذف کنید و فایل آماده است.

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

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

مهم!سوء استفاده از htaccess می تواند به عملکرد کندتر سایت شما منجر شود. استفاده از htaccess برای اجرای یک کار خاص فقط در صورتی ارزش دارد که گزینه دیگری وجود نداشته باشد.

Rules.htaccess

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

Options +FollowSymlinks
#ممنوعیت دانلود فایل از سایت های خارجی
بازنویسی موتور روشن
RewriteCond %(HTTP_REFERER) !^$
RewriteCond %(HTTP_REFERER) !^http://(www.)?your_domain.com/
RewriteRule .*.(gif|jpg|png)$ http://your_domain.com/img/goaway.gif

فراموش نکنید your_domain.com را به مال خود تغییر دهید نام دامنهو یک تصویر goaway.gif ایجاد کنید که به جای تصویر درخواستی نشان داده شود.

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

#ربات ها و روبات های ناخواسته را مسدود کنید
SetEnvIfNoCase user-Agent ^FrontPage
SetEnvIfNoCase user-Agent ^Java.*
SetEnvIfNoCase user-Agent ^Microsoft.URL
SetEnvIfNoCase user-Agent ^MSFrontPage
SetEnvIfNoCase user-Agent ^Offline.Explorer
SetEnvIfNoCase user-Agent ^ebandit
SetEnvIfNoCase user-Agent ^Zeus

سفارش اجازه، انکار
اجازه از همه
انکار از env=bad_bot

فهرستی از مرورگرهای عامل کاربر، ربات‌های موتور جستجو و عنکبوت‌ها، فهرست‌های وب، مدیران دانلود، ربات‌های هرزنامه و ربات‌های بد را می‌توانید در اینجا پیدا کنید. http://www.user-agents.org/

3. از دسترسی به همه آدرس های IP به جز آدرس های مشخص شده خودداری کنید
اگر به هر دلیلی می خواهید همه را رد کنید یا فقط به آدرس های IP خاصی اجازه دسترسی به سایت خود را بدهید، این کد را به فایل htaccess. خود اضافه کنید:

# دسترسی به همه آدرس های IP مشخص شده را ممنوع کنید
ErrorDocument 403 http://your_domain.com
دستور رد، اجازه
انکار از همه
اجازه از IP1
اجازه از IP2 و غیره

فراموش نکنید که your_domain.com و IP1،2 و غیره را تغییر دهید. به ترتیب به نام دامنه و آدرس های IP مورد نیاز شما.

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

#یک لیست سیاه از آدرس های IP ایجاد کنید
اجازه از همه
انکار از IP1
رد کردن IP2 و غیره

اگر دلیل مسدود کردن یک آدرس IP، نظرات اسپم مزاحم است، می توانید آدرس IP مفسران را یا در لاگ های آپاچی یا با استفاده از سرویس های آماری پیدا کنید. برای وردپرس، آدرس IP نظر دهندگان را می توان در پنل مدیریت مشاهده کرد. به همین ترتیب، می توان دسترسی به شبکه ای از آدرس های IP را با مشخص کردن "Dy from IP/netmask" مسدود کرد.

#یک لیست سیاه برای زیرشبکه ایجاد کنید
اجازه از همه
رد از 192.168.0.0/24

5. یک تغییر مسیر 301 برای SEO-Friendly راه اندازی کنید
اگر نام دامنه ای را منتقل کرده اید یا می خواهید کاربر را به آن هدایت کنید صفحه خاص(صفحات)، بدون تحریم موتورهای جستجو، از این کد استفاده کنید:

#راه اندازی ریدایرکت 301 برای SEO-Friendly
تغییر مسیر 301 /d/file.html http://your_domain.com/r/file.html

فراموش نکنید your_domain.com را به نام دامنه خود و /d/file.html و /r/file.html را به دایرکتوری ها و صفحات مناسب تغییر دهید.

6. ایجاد کنید صفحات خوداشتباهات
اگر می خواهید منحصر به فرد بودن منبع خود را افزایش دهید و برای این منظور می خواهید ظاهر استاندارد صفحات خطا را جایگزین کنید، این کار با کد زیر امکان پذیر است:

ErrorDocument 401 /error/401.php
ErrorDocument 403 /error/403.php
ErrorDocument 404 /error/404.php
ErrorDocument 500 /error/500.php

فراموش نکنید که یک پوشه "error" در دایرکتوری ریشه سرور خود ایجاد کنید و فایل های مربوطه را در آن قرار دهید.

7. نصب کنید آدرس ایمیلپیش فرض برای مدیر سرور
از این کد برای تنظیم آدرس ایمیل پیش فرض برای مدیر سرور استفاده کنید:

#آدرس ایمیل پیش فرض را برای مدیر سرور تنظیم کنید
ایمیل امضای سرور
SetEnv SERVER_ADMIN [ایمیل محافظت شده] _domain.com

تعویض را فراموش نکنید [ایمیل محافظت شده] _domain.com - آدرس ایمیلی که نیاز دارید.

8. از یک فایل خاص محافظت کنید
کد زیر به شما امکان می دهد دسترسی به هر فایلی را رد کنید - در صورت درخواست خطای 403 برگردانده می شود. در مثال، دسترسی به خود فایل htaccess مسدود شده است - به این ترتیب می توانید سطح امنیتی سایت را افزایش دهید:

#از فایل htaccess محافظت کنید

دستور اجازه، انکار
انکار از همه

9. با فعال کردن Gzip، اجزای سایت را فشرده کنید
هنگام استفاده از Gzip، سرور فایل ها را قبل از ارسال به کاربر فشرده می کند، بنابراین سایت شما سریعتر بارگذاری می شود:

با فعال کردن Gzip، اجزای سایت را فشرده کنید
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/javascript text/css application/x-javascript
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4.0 no-gzip
BrowserMatch bMSIE !no-gzip !gzip-only-text/html

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

10. عناصر را با mod_deflate فشرده کنید
به عنوان جایگزینی برای فشرده سازی فایل ها با Gzip، می توانید استفاده کنید mod_deflate(احتمالاً سریعتر). کد زیر را در بالای فایل htaccess خود قرار دهید (همچنین می توانید .jpg|.gif|.png|.tiff|.ico را اضافه کنید):

#فشرده کردن عناصر با mod_deflate


SetOutputFilter DEFLATE

11. انقضا را به هدرها اضافه کنید
این کد به شما امکان می دهد تاریخ انقضا را به هدرها اضافه کنید:

#افزودن انقضا به هدرها

مجموعه سرصفحه منقضی می‌شود «چهارشنبه، 31 دسامبر 2014، ساعت 20:00:00 GMT+2»

12. صفحات پیش فرض را تنظیم کنید
معمولا صفحه پیش فرض است index.html، اما با این کد می توانید هر صفحه دیگری را به عنوان پیش فرض تنظیم کنید:

یک صفحه پیش‌فرض جایگزین #تنظیم کنید
DirectoryIndex yourpage.html

فراموش نکنید که صفحه مورد نیاز خود را جایگزین yourpage.html کنید

13. محافظت از پوشه ها و فایل ها با رمز عبور
با استفاده از این کد می توانید بررسی رمز عبور را برای دسترسی به هر پوشه یا فایلی در سرور خود فعال کنید:

#password از فایل محافظت می کند

AuthType Basic
AuthName "Prompt"

نیاز به کاربر معتبر

محافظت از رمز عبور #پوشه
ساکن است
AuthType اساسی
AuthName "این دایرکتوری محافظت شده است"
AuthUserFile /pub/home/.htpasswd
AuthGroupFile /dev/null
نیاز به کاربر معتبر

برای سازماندهی دسترسی به یک فایل با رمز عبور، باید یک فایل ایجاد کنید htpasswdو یک جفت login-password را در قالب آن وارد کنید نام کاربری: رمز عبور. اما در این حالت رمزهای عبور به صورت متن ساده ذخیره می شوند که از نظر امنیتی چندان خوب نیست. بنابراین بهترین راه حل رمزگذاری رمز عبور خواهد بود. برای انجام این کار، از خدمات ایجاد ورودی در فایل های .htpasswd استفاده کنید.
مثلا، http://www.htaccesstools.com/htpasswd-generator/
در مثال، فایل با پسوردهای دسترسی در دایرکتوری ریشه سایت قرار دارد و htpasswd نامیده می شود. دایرکتوری از ریشه سرور مشخص شده است، و اگر مسیر نادرست باشد - آپاچی که به فایل دسترسی ندارد، دسترسی به پوشه را برای هر کاربری - از جمله شخصی که جفت ورود: رمز عبور صحیح را وارد کرده است، ممنوع می کند.

14. تغییر مسیر از دامنه قدیمی به دامنه جدید
با استفاده از htaccess، می توانید یک تغییر مسیر از نام دامنه قدیمی به دامنه جدید را با افزودن کد زیر تنظیم کنید:

# تغییر مسیر از دامنه قدیمی به دامنه جدید
بازنویسی موتور روشن
RewriteRule ^(.*)$ http://www.yournewdomain.com/$1

اگر سایت موجود خود را به یک نام دامنه جدید منتقل می کنید، از تغییر مسیر استفاده می شود. در این حالت، هر کاربری که http://www.yourolddomain.com را در نوار آدرس تایپ کند به http://www.yournewdomain.com هدایت می شود.

15. تقویت حافظه پنهان
استفاده از این قانون مستقیماً سرعت بارگذاری سایت شما را افزایش نمی دهد. برای بیشتر در نظر گرفته شده است بارگذاری سریعسایت - برای بازدید کننده ای که قبلاً از آن بازدید کرده است، با ارسال وضعیت 304 برای آن دسته از عناصری که به روز نشده اند. بنابراین، هنگام بارگیری مجدد صفحه، مرورگر بازدیدکننده تصاویر، اسکریپت ها یا CSS را دوباره دانلود نمی کند، بلکه فایل هایی را که قبلاً در حافظه پنهان آن ذخیره شده اند، نمایش می دهد. می توانید طول عمر حافظه پنهان را با تنظیم مقدار آن بر حسب سال (سال)، ماه (ماه) یا به عنوان مثال، ثانیه (ثانیه) تغییر دهید:

# تقویت حافظه پنهان
FileETag MTtime Size


ExpiresActive در
Expires پیش فرض «دسترسی به اضافه 1 ماه»


در مثال 1 ماه مشخص شده است.

16. "رده" را از URL حذف کنید
برای تغییر پیوند از http://yourdomain.com/category/news به http://yourdomain.com/news، کافی است کد زیر را به انتهای فایل htaccess. خود اضافه کنید:

#حذف دسته از URL
RewriteRule ^category/(.+)$ http://www.yourdomain.com/$1

فراموش نکنید که http://www.yourdomain.com را به نام دامنه خود تغییر دهید.

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

#مشاهده محتویات پوشه را ممنوع کنید
گزینه های همه شاخص ها

وجود دارد راه حل جایگزین، که همین نتیجه را دارد، برای این کار باید یک فایل خالی در هر پوشه سایت خود قرار دهید index.html. این روش تنها در صورتی کار می کند که صفحه پیش فرض را تغییر نداده باشید (به قانون 12 مراجعه کنید). اگر تغییراتی ایجاد شده است، باید فایل هایی را با نام جدیدی که به عنوان صفحه پیش فرض تنظیم کرده اید قرار دهید.

18. فید RSS وردپرس را به FeedBurner هدایت کنید
این کد به شما امکان می دهد تا فید RSS CMS وردپرس را به آن هدایت کنید سرویس گوگل Feedburner:

#فید RSS وردپرس را به FeedBurner هدایت کنید

بازنویسی موتور روشن است
RewriteCond %(HTTP_USER_AGENT) !FeedBurner
RewriteCond %(HTTP_USER_AGENT) !FeedValidator
RewriteRule ^rss.xml$ http://feeds.feedburner.com/yourfeed

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

19. نظرات کاربران را بدون ارجاع غیرفعال کنید
بیشتر اوقات، هرزنامه ها مستقیماً بدون رفتن به صفحات پست وبلاگ شما به فایل wp-comments-post.php دسترسی پیدا می کنند. کد زیر به شما امکان می دهد نظرات ارسال شده توسط کاربرانی را که "از ناکجاآباد" آمده اند را مسدود کنید، و اجازه می دهد نظرات توسط خوانندگانی که از صفحه دیگری به صفحه وبلاگ شما آمده اند (مثلاً نتایج) ارائه شود. جستجوی گوگل، Yandex و غیره):

#غیرفعال کردن نظرات کاربران بدون ارجاع
بازنویسی موتور روشن
RewriteCond %(REQUEST_METHOD) POST
RewriteCond %(REQUEST_URI) .wp-comments-post\.php*

RewriteCond %(HTTP_REFERER) !.*yourblog.com.*
RewriteCond %(HTTP_USER_AGENT) ^$
RewriteRule (.*) ^http://%(REMOTE_ADDR)/$
تعویض را فراموش نکنید yourblog.comبه نام دامنه وبلاگ شما.

20. پسوند فایل را از URL حذف کنید
این کد به شما امکان می دهد پسوند فایل .php را از آدرس صفحات حذف کنید (می توانید آن را به هر دیگری تغییر دهید، به عنوان مثال t 2.html):

#پسوند فایل را از URL حذف کنید
RewriteRule ^(([^/]+/)*[^.]+)$ /$1.php [L]

21. حفاظت از سایت
این کد به شما امکان می دهد از سایت خود محافظت کنید تزریق اسکریپتو تغییرات ناخواسته _درخواست» و/یا « جهانی ها»:

#فعال کردن ردیابی لینک سیم کارت
Options +FollowSymLinks
#بازنویسی url را اجرا کنید
بازنویسی موتور روشن
#بلاک همه لینک های حاوی