MOJE šikovné cestovateľské poznámky. Jednoduché obmedzenie hesla

  • 04.05.2019

Ochrana stránky pomocou samotného servera Apache je jedným z najjednoduchších a zároveň celkom spoľahlivých spôsobov. V tomto prípade nemusíte dôkladne premýšľať o bezpečnostnej stratégii, vykonávať jej návrh a implementáciu v kóde. Okrem toho, aby ste vytvorili dobrý systém ochrany, musíte mať v tejto veci dostatočnú kvalifikáciu. Pomocou vstavanej ochrany WEB-servera Apache si svoju úlohu výrazne zjednodušíte – stačí vykonať jednoduchý sled akcií a vaša stránka bude dostatočne chránená. Tento článok podrobne popisuje kroky a akcie, ktoré musíte vykonať. A na konci článku budú príklady súborov .htaccess.

Základná autentifikácia

Tento článok sa bude zaoberať najjednoduchším a najdostupnejším spôsobom ochrany - základnou autentifikáciou.

Komentujte

Autentifikácia je proces, ktorým sa overuje, že niekto je tým, za koho sa vydáva. Overenie zvyčajne zahŕňa zadanie používateľského mena a hesla.

Pozrime sa, ako funguje Základná autentifikácia.
Keď návštevník vstúpi do chráneného adresára, server Apache v odpovedi na požiadavku odošle hlavičku s kódom 401 (hlavička potrebná na overenie 401). Prehliadač návštevníka akceptuje hlavičku s kódom 401 a zobrazí okno s poliami na zadanie používateľského mena a hesla. Po zadaní používateľského mena a hesla sa tieto údaje odošlú späť na server, ktorý skontroluje, či je používateľské meno v špeciálnom zozname a správnosť hesla. Ak je všetko správne, návštevník získa prístup k zdroju. Do prehliadača sa spolu s hlavičkou odošle špeciálny názov s názvom scope. Prehliadač ukladá do vyrovnávacej pamäte nielen meno a heslo na odovzdanie každej žiadosti, ale aj rozsah. Z tohto dôvodu sa meno používateľa a heslo zadáva do chráneného adresára iba raz. V opačnom prípade by sa museli zadávať pri každej požiadavke do chráneného adresára. Autentifikačné parametre (meno, heslo, rozsah) sa zvyčajne ukladajú do vyrovnávacej pamäte iba v rámci jednej relácie.

Komentujte

Pri základnej autentifikácii sa užívateľské meno a heslo prenáša do siete v čistom texte počas celej relácie, kedy návštevník pracuje s chráneným adresárom. Hacker môže tieto informácie zachytiť pomocou sieťového sledovača paketov. Tento typ autentifikácie by sa nemal používať tam, kde je potrebná skutočná ochrana komerčne cenných informácií.

Komentujte

Webový server Apache podporuje iný typ ochrany – digest autentifikácia. Počas autentifikácie digestu sa heslo neprenáša ako čistý text, ale vo forme hash kódu vypočítaného pomocou algoritmu MD5. Preto pri skenovaní prevádzky nie je možné zachytiť heslo. Ak však chcete použiť autentifikáciu digest, musíte na server nainštalovať špeciálny modul - mod_auth_digest. A to je len v kompetencii správy servera. Okrem toho až donedávna nebolo overenie pomocou digestu podporované všetkými typmi prehliadačov.

Ochrana vášho webu je jednoduchá

Na ochranu stránky je potrebné vykonať nasledujúcu postupnosť akcií: vytvoriť súbor s heslami, prepísať ho na server, vytvoriť súbor .htaccess a tiež ho prepísať na server.
Pre organizáciu ochrany budete potrebovať.

  1. WEB-stránka a FTP-prístup k nej.
  2. Práva na vytváranie a ochranu súborov .htpaccess.
  3. Nástroj na generovanie hesla htpasswd.exe

Kontrola, či súbor .htaccess na serveri funguje

Ak chcete skontrolovať, či máte práva na organizáciu ochrany pomocou súborov .htaccess, vytvorte textový súbor s názvom .htaccess (prvý znak je bodka, nemá príponu).

Komentujte

Súbory .htaccess je vhodné vytvárať pomocou vstavaného editora v shelloch Far, WindowsCommander, TotalCommander atď., ako aj v editore Notepad.

Komentujte

Ak chcete zabrániť tomu, aby Poznámkový blok automaticky nahradil príponu txt, vyberte možnosť „Všetky súbory“ v rozbaľovacom zozname „Typ súboru“ v dialógovom okne uloženia.

Ryža. 1... Ukladanie súborov .htaccess do poznámkového bloku

Kontrola, či .htaccess funguje

AuthType Basic
Správca AuthName
vyžadovať platného používateľa

Potom cez FTP prístup prepíšte súbor .htaccess na stránke do adresára, ktorý chcete chrániť.

Komentujte

Súbory .Htaccess sa vzťahujú nielen na adresár, kde sa súbor nachádza, ale aj na všetky podadresáre pod ním.

Potom použite svoj prehliadač na prístup k tomuto adresáru. Ak chránite adresár admin a prepisujete tam súbor .htaccess, na overenie by ste mali do panela s adresou prehliadača zadať nasledujúcu adresu URL: http://www.mysite.ru/admin/.

Ak sa potom zobrazí výzva na zadanie prihlasovacieho mena a hesla, ako na obrázku nižšie, testovanie bolo úspešné a môžete pokračovať v ochrane adresára.

Ryža. 2... Okno na zadanie prihlasovacieho mena a hesla

Ak ste urobili všetko správne, ale okno na zadanie hesla sa nezobrazilo, znamená to, že nastavenia servera vám zakazujú používať súbory .htaccess na ochranu adresárov. Ak chcete vyriešiť tento problém, mali by ste kontaktovať správu servera alebo použiť iný typ ochrany.
Keď zistíte, že súbory .htaccess fungujú, mali by ste z lokality odstrániť testovací súbor, ktorý ste práve napísali.

Komentujte

Ak z nejakého dôvodu nemôžete odstrániť súbor .htaccess, vytvorte prázdny súbor .htaccess a nahraďte ním súbor na serveri.

Vytvorte súbor hesiel .htpasswd

Súbor s heslami vytvára pomôcka htpasswd.exe. Ak máte na svojom počítači nainštalovaný webový server Apache, potom sa tento nástroj nachádza v adresári s nainštalovaným Apache-em v podadresári kôš.

Komentujte

Ak nemáte nainštalovaný Apache, môžete si stiahnuť pomôcku htpasswd.exe.

Pomôcka htpasswd.exe vyžaduje rozhranie príkazového riadka. Takéto programy ako Far, WindowsCommander atď. majú rozhranie príkazového riadku. Tu zvážime prácu s príkazovým riadkom pomocou pomôcky cmd, ktorá je súčasťou distribúcie Windows 2000 / XP atď.
Kliknite na "Štart" -> "Spustiť", zadajte do vstupného riadku cmd a stlačte OK... Otvorí sa okno pomôcky CMD.

Ryža. 3... Obslužné okno CMD

Ďalej musíte prejsť do adresára, kde sa nachádza pomôcka htpasswd.exe. Povedzme, že server Apache je nainštalovaný v adresári s: / Apache2, potom zadajte príkaz do príkazového riadka: cd ../../ apache2 / bin a stlačte kláves enter.


Prešli ste do adresára s: Apache2in. Teraz musíte zadať príkaz na vytvorenie súboru s heslom. Do príkazového riadku zadajte nasledovné:

htpasswd -cm .htpasswd admin

  • -cm sú prepínače pre utility. Kláves c označuje, že je potrebné vytvoriť nový súbor hesiel. Ak súbor s rovnakým názvom už existuje, bude prepísaný. Kľúč m - definuje šifrovanie pomocou algoritmu MD5.
    .htpasswd je názov súboru s heslami (môžete použiť ľubovoľný názov).
    admin je meno návštevníka, ktorý bude mať povolený prístup do zakázanej oblasti stránky.

Ako odpoveď by ste mali byť vyzvaní na zadanie hesla a jeho zopakovanie. Ak je všetko v poriadku, potom sa na konci zobrazí hlásenie: Pridávam heslo pre používateľa admin. A v adresári c: Apache2in sa objaví súbor .htpasswd, ku ktorému bude riadok s užívateľským menom a hash kódom jeho hesla. Ak chcete do rovnakého súboru .htpasswd pridať ďalšieho používateľa, odstráňte prepínač -c z príkazu na spustenie pomôcky htpasswd.exe

htpasswd -m .htpasswd správca



Komentujte

Ak súbor hesiel nebol vytvorený, je možné, že niektoré pomocné kľúče váš operačný systém nepodporuje. Niekedy napríklad nie je podporovaný kláves m. V tomto prípade musíte zadať htpasswd -c .htpasswd admin
Ak chcete zobraziť kľúče a parametre pomôcky, zadajte htpasswd.exe /? Zobrazí sa vám popis rozhrania.

Súbor hesiel bol teda vytvorený. Teraz ho musíte prepísať na server. Je veľmi žiaduce umiestniť súbory s heslami nad koreňový adresár stránky - kde nebude prístup k návštevníkom.
Ak to nie je možné, potom musia byť súbory hesiel chránené. To možno vykonať pomocou súborov .htaccess. Ak chcete chrániť súbory pomocou hesiel, vytvorte súbor s riadkami zobrazenými v nasledujúcom zozname.

Ochrana súborov .htpasswd


odoprieť od všetkých

A vložte ho do adresára, kde sa nachádza váš súbor s heslom. Návštevníci stránky k nej teraz nebudú mať prístup.
Súbor hesiel bol vytvorený a chránený pred neoprávneným prístupom. Teraz musíte vytvoriť súbor .htaccess, ktorý sa bude používať v chránenom adresári.

Vytvorenie súboru .htaccess

Na ochranu adresára možno použiť nasledujúce direktívy:

  • AuthType – Typ použitej autentifikácie. Pre základnú autentifikáciu musí mať táto direktíva hodnotu: Basic
    AuthName – názov rozsahu autentifikácie. Text, ktorý pomáha návštevníkovi pochopiť, kam sa pokúša dostať. Môže to byť napríklad napísané: "Súkromná zóna. Len pre správcu!"
    AuthUserFile - cesta k súboru s heslom (.htpasswd).
    AuthGroupFile – Cesta k súboru skupín, ak existuje.
    Vyžadovať – Jedna alebo viac požiadaviek, ktoré musia byť splnené, aby ste získali prístup do zakázanej oblasti.

Príklad súboru Htaccess

AuthType Basic
AuthName "Súkromná zóna. Len pre správcu!"
AuthGroupFile / usr / hostiteľ / moja stránka / skupina
AuthUserFile /usr/host/mysite/.htpasswd
vyžadujú správcov skupiny

Direktívy AuthUserFile a AuthGroupFile by mali byť popísané podrobnejšie. Obsahujú absolútne cesty k príslušným súborom z koreňového adresára servera.

Pozor!

Relatívne cesty nebudú fungovať!

Cestu môžete zistiť z koreňového adresára servera tak, že sa spýtate správy servera, alebo to môžete skúsiť zistiť sami. Ak to chcete urobiť, spustite funkciu phpinfo (). Zobrazí sa fialová tabuľka. Hodnotu absolútnej cesty z koreňového adresára servera je možné zobraziť v premenných: doc_root, open_basedir, DOCUMENT_ROOT.
Direktíva Require určuje, kto má povolený prístup do súkromnej oblasti. Napríklad,

Sú situácie, kedy by vaša webová stránka nemala byť verejná, ale používaná ako druh služby pre obmedzený počet ľudí. Môžete samozrejme nahromadiť autentifikáciu prostredníctvom PHP, ale existuje takmer základný spôsob - zatvoriť priečinok na webe pomocou nástrojov Apache. Napríklad pomocou súborov .htaccess a .htpasswd... O tom si teraz povieme.

Vytvorte súbor .htpasswd s heslami

Aby sme mohli nastaviť heslo, musíme najprv vygenerovať súbor .htpasswd... Robí sa to pomocou nástroja htpasswd, ktorý existuje vo verziách pre Linux aj Windows.

htpasswd -c .htpasswd admin

kľúč - s označuje, že by sa mal vytvoriť nový súbor hesiel. .htpasswd- názov vygenerovaného súboru. admin- užívateľské meno užívateľa, ktorý bude mať povolený prístup do uzavretej časti stránky. Po spustení pomôcky so všetkými potrebnými parametrami sa zobrazí výzva na zadanie hesla a jeho zopakovanie. Ak ste už vytvorili súbor .htaccess a chcete doň pridať nového používateľa, stačí spustiť obslužný program špecifikujúci súbor s heslami bez kľúča –C.

Vytvorený súbor je textový súbor a obsahuje hash používateľského mena a hesla, ktoré sú oddelené dvojbodkou. V predvolenom nastavení je hašovací algoritmus DES. Môžete to však zmeniť a použiť algoritmus MD5 s kľúčom –M, ale najlepšou možnosťou je použiť algoritmus SHA ( prepínač -s).

Ochrana vášho webu pomocou .htaccess

Súbor je teda vytvorený, potom pridajte súbor .htaccess do koreňového adresára lokality alebo pridajte nasledujúce riadky do existujúceho:


# Zatvorte prístup k súboru .htaccess
Objednávka povoliť, zamietnuť
Odmietnuť od všetkých
Uspokojiť všetkých

# Zadajte umiestnenie súboru .htpasswd, povoľte autentifikáciu
AuthUserFile /etc/apache2/passwd/.htpasswd
AuthName "Oblasť chránená heslom"
AuthType Basic
Vyžadovať platného používateľa

Parameter AuthUserFile ukazuje na absolútnu cestu k súboru .htpasswd... Z nejakého dôvodu, ktorý mi nie je známy, v mnohých príručkách, ktoré som videl, je z nejakého dôvodu súbor s heslom uložený v domovskom adresári používateľa. Neodporúčal by som ukladať tento súbor do vášho domovského adresára, tým menej do koreňového adresára stránky.

Po vytvorení súboru a umiestnení súboru .htaccess v koreňovom adresári stránky by bolo pekné reštartovať proces apache.

Tiež by som vás chcel upozorniť na skutočnosť, že by bolo pekné uzavrieť stránku z indexovania vyhľadávacími nástrojmi. Ak to chcete urobiť, v koreňovom adresári lokality vytvorte súbor robots.txt s nasledujúcim obsahom:


User-agent: *
Disallow: /

V tomto bode si myslím, že môžete a dokončiť tento príspevok. Ak máte ďalšie otázky k téme, čakám na ne v komentároch.

Osobne používam .htaccess na ochranu priečinkov na svojej stránke heslom. Dobré heslo je zárukou bezpečnosti, je to axióma!

Najprv sa pozrime na príklad a potom vysvetlíme, čo to znamená:

vyžadovať platného používateľa

Tento súbor je potrebné umiestniť do adresára, do ktorého chceme vložiť heslo.

smernice AuthName po výzve na zadanie hesla zobrazí správu, všetky správy musia byť napísané v jednom riadku, syntax smernice je triviálna:

AuthName "ZOBRAZIŤ TEXT"

smernice AuthType vyberie typ autentifikácie. Možné sú nasledujúce typy: Základné alebo Digest... Druhý nemusí byť podporovaný niektorými prehliadačmi, preto sa neodporúča používať ho.

AuthType Basic | Digest

AuthUserFile určuje názov súboru s heslami na overenie používateľov (heslá v tomto súbore budú šifrované). Cesta k súboru hesiel je nastavená relatívne ku koreňovému adresáru webového servera. Súbor s heslami uložte do priečinka, ktorý nie je prístupný používateľom - (odporúča sa umiestniť tento súbor mimo hierarchiu vašej webovej stránky - to je veľmi dôležitý bod, pretože bude dosť ťažké ho prelomiť, pretože preniesť všetku zodpovednosť za jeho bezpečnosť na známeho poskytovateľa hostingu s jeho firewallmi a bezpečnostnými systémami).

Existujú dva spôsoby vytvorenia tohto súboru. Ak máte operačný systém rodiny Windows, môžete si stiahnuť program, ktorý generuje tento súbor. Alebo sa pripojte k serveru cez SSH a použite utilitu htpasswd. Alebo použite rovnaký nástroj, ktorý sa dodáva s webovým serverom Apache (ak je nainštalovaný, ak nie, stiahnite si ho pre Win), pomocou príkazového riadku systému Windows zadajte: htpasswd.exe -cm .htpasswd admin , kde:

Cm sú príkazy na vytvorenie súboru pomocou MD5;

Htpasswd je názov súboru, ktorý sa má vytvoriť;

admin - používateľské meno.

Po spustení budete vyzvaní na zadanie hesla a potvrdenie. Tým sa vytvorí súbor .htpasswd niečo také:

admin: $ apr1 $ 9o0 ... .. $ 3nAi6rAX1RtHDzL7PPW / i /

ktorý zodpovedá prihláseniu - admin a heslo - heslo.

Mimochodom, týmto spôsobom môžete zavrieť nielen adresáre, ale aj jednotlivé súbory alebo skupiny súborov. Pri pridávaní používateľa do existujúceho súboru príkaz – Cm je potrebné zmeniť na –M.

Ak sa pripojíme k serveru cez SSH a použijeme utilitu htpasswd bez parametrov, uvidíme:

kjan ~ # htpasswd

htpasswd [-cmdps] používateľské meno súboru s heslami

htpasswd -b passwordfile užívateľské meno heslo

C Vytvorte nový súbor.

Nebudeme tu pokrývať všetky možnosti tohto príkazu, ale podrobnosti si môžete prečítať sami spustením htpasswd v unixový shell alebo si pozrite príslušnú dokumentačnú stránku Apache.

Na začiatku teda ešte nemáme súbor hesiel a musíme ho vytvoriť:

kjan ~ # htpasswd -c authfile test1

Znovu napíšte nové heslo

Pridanie hesla pre užívateľský test1

Po vykonaní tejto operácie htpasswd vytvorí súbor heslá kde sa používateľ bude nachádzať test1 a jeho zašifrované heslo:

kjan ~ $ cat .authfile

test1: zgco1KREjBY8M

Teraz chceme pridať ešte jedného používateľa. Keďže už máme súbor s heslami, kľúč jednoducho nepoužijeme "-C" :

kjan ~ # htpasswd .authfile test2

Znovu napíšte nové heslo:

Pridanie hesla pre užívateľský test2

kjan ~ $ cat .authfile

test1: zgco1KREjBY8M

test2: eN3uA6t0kzV1c

Vráťme sa k popisu direktív na ochranu adresárov heslom. smernice Vyžadovať definuje používateľov, ktorí majú prístup

Vyžadovať USER_NAME | valid-user

Ukazovanie valid-user udelíte prístup všetkým používateľom uvedeným v súbore hesiel.

AuthName "Chránená oblasť, vyžaduje sa autorizácia"

AuthUserFile /home/t/test/.authfile

vyžadovať platného používateľa

Malo by sa pamätať na to, že pri takomto obmedzení prístupu sa heslá prenášajú cez komunikačné kanály vo forme čistého textu a za určitých okolností ich môžu zachytiť votrelci. Preto sa z bezpečnostných dôvodov odporúča organizovať prístup do zakázaných oblastí webovej stránky prostredníctvom zabezpečeného pripojenia SSL.

Pomocou štandardných modulov Apache je možné pri pokuse o prístup na konkrétnu stránku alebo adresár požiadať používateľa o používateľské meno a heslo. Prístup bude povolený, ak sa prihlasovacie meno a heslo nachádzajú v špeciálnom súbore.

Vytvorte súbor s heslom

Súbor poverení je zvyčajne pomenovaný .htpasswd a nachádza sa v adresári, ku ktorému chcete obmedziť prístup. V predvolenom nastavení Apache zakazuje prístup ku všetkým súborom, ktoré začínajú .ht, takže súbor hesiel, ako súbor .htaccess, nemôže čítať žiadny návštevník vašej stránky.

Každý riadok súboru obsahuje údaje o jednom používateľovi. Prihlasovacie meno a šifrované heslo sú oddelené dvojbodkou. Príklad:

Správca: YFC5nYLiUI2ig vasya: bnqw1eZHP2Ujs

Nástroj sa používa na šifrovanie hesiel htpasswd ktorý sa dodáva spolu s Apache. Ak chcete vytvoriť nový súbor so zapnutými údajmi
užívateľ admin, zadajte príkaz:

$ htpasswd -c .htpasswd admin

Ak chcete pridať do existujúceho súboru, použite príkaz:

$ htpasswd .htpasswd vasya

Po spustení vás obslužný program dvakrát požiada o zadanie hesla a ak sa zhodujú, pridajú sa údaje používateľa.

Obmedzenie prístupu

Teraz, aby ste povolili žiadosť o autorizáciu pri pokuse o prístup, musíte vykonať zmeny v konfiguračnom súbore alebo v súbore .htaccess... Pripomínam, že pomocou súborov .htaccess nežiaduce, pretože znižuje výkon servera.

AuthType Basic AuthName "Administratívna zóna" AuthUserFile /var/www/example.com/admin/.htpasswd Vyžadovať platného používateľa

Budete musieť zmeniť cestu k adresáru (Directory), cestu k súboru s heslami (AuthUserFile) a reťazec výzvy (AuthName), ktorý sa zobrazí používateľovi po výzve na zadanie hesla. Význam ďalších smerníc zistíte z dokumentácie Apache.

Po vykonaní zmien v konfiguračnom súbore nezabudnite reštartovať Apache.

Poznámky (upraviť)

Tento príklad ukazuje najjednoduchší spôsob obmedzenia prístupu. Vo všeobecnosti sú možnosti autentifikačného systému Apache oveľa širšie. Používatelia môžu byť napríklad rozdelení do skupín, heslá sú uložené v databáze alebo vyžiadané cez špeciálny protokol z iných serverov. Odporúčame, aby ste sa oboznámili so všetkými možnosťami v dokumentácii Apache.

Príklad ukazuje najjednoduchší typ autentifikácie - Základné... Mali by ste si uvedomiť, že v tomto prípade sa heslo prenáša z klienta na server v otvorenej, nezašifrovanej forme. Ak vám to nevyhovuje, môžete použiť iný typ autentifikácie alebo HTTPS protokol.

Dodatočný konfiguračný súbor .htaccess sa tiež často používa na obmedzenie prístupu k lokalite, častiam lokality alebo konkrétnym súborom umiestneným na serveri.

Ak chcete odmietnuť prístup k celej lokalite, musíte do súboru .htacces napísať nasledovné:



Zakázať prístup iba z konkrétnej IP adresy:


odoprieť od všetkých
poradie povoliť zamietnuť
odoprieť od všetkých
popierať od user_ip_address


"user_ip_address"musí byť nahradený špecifickou IP adresou.

Ak chcete povoliť prístup iba z konkrétnej adresy IP, môžete napísať:


poradie povoliť zamietnuť
odoprieť od všetkých
povoliť z user_ip_address


Pomocou súboru .htaccess môžete zakázať prístup ku konkrétnemu súboru. Napríklad zakázať používateľovi prístup k samotnému súboru .htaccess. V tomto prípade bude server môcť použiť pokyny uvedené v súbore:


& lt Súbory .htaccess & gt
rozkaz povoliť, zamietnuť
odoprieť od všetkých

Ochrana súborov

Pravdepodobne všetci používatelia internetu narazili na rovnaké články na rôznych stránkach. Často sa stáva, že tieto články sú jednoducho ukradnuté z iných zdrojov. Vyhľadávače sa snažia vysporiadať s duplicitnými stránkami, no ich výber primárneho zdroja nie je vždy správny. A to je vážny problém pre copywriterov a webmasterov, keďže napísať kvalitný obsah si niekedy vyžaduje veľa úsilia a času a je veľmi nepríjemné dostať pokuty od vyhľadávačov za to, že niekto skopíruje obsah z vašej stránky. A často sa spolu s textom kradnú aj obrázky. Okrem toho mnohí zlodeji, aby nepreťažili svoj server, nesťahujú obrázky zo stránok iných ľudí, ale jednoducho odkazujú na súbory na pôvodnej stránke. Vloženie odkazu na súbor umiestnený na inej stránke sa nazýva hotlink. Okrem odkazov na obrázky môžu existovať aj odkazy na iné súbory, napríklad dostupné na stiahnutie. Takéto horúce odkazy sú nielen pre autora obsahu mimoriadne nepríjemné. Preťažujú aj pôvodný server.

Súbory môžete chrániť pred rýchlym prepojením pomocou súboru .htaccess tak, že doň pridáte dva riadky:



your_site.ru.*$


V zátvorkách cez "|" sú špecifikované prípony súborov, ku ktorým bude zakázaný prístup všetkým, okrem používateľov servera a lokality your_site.ru

Ak chcete používateľom vyhľadávacích nástrojov otvoriť prístup k súborom s touto príponou, musíte im vylúčiť zákaz rovnakým spôsobom ako na stránke your_site.ru:


RewriteCond% (HTTP_REFERER)! ^ $
RewriteCond% (HTTP_REFERER)! ^ Http (s)?: // (www.)? your_site.ru
RewriteCond% (HTTP_REFERER)! ^ Http (s)?: // (www.)? Yandex.ru
RewriteCond% (HTTP_REFERER)! ^ Http (s)?: // (www.)? Yahoo.
RewriteCond% (HTTP_REFERER)! ^ Http (s)?: // (www.)? Google.
RewriteCond% (HTTP_REFERER)! ^ Http (s)?: // (www.)? Bing.
RewriteRule \. (Jpe? G | bmp | gif | png | css | zip | pdf | txt | doc) $ -

Ochrana heslom

Pomocou doplnkového konfiguračného súboru.htacces je možné nastaviť heslo pre adresár lokality, konkrétny súbor alebo skupinu súborov s rovnakou príponou. Ak chcete nastaviť heslo pre adresár, v .htaccess musíte napísať:


AuthName" Čo chceš?"
AuthType Basic
AuthUserFile
vyžadovať platného používateľa


Súbor .htaccess obsahujúci tieto riadky musí byť umiestnený v adresári, ku ktorému chceme zatvoriť prístup. Keď sa používateľ pokúsi vstúpiť do zodpovedajúcej časti stránky, server vráti stavový kód 401 (vyžaduje sa autorizácia) a zobrazí okno s poľami na zadanie používateľského mena a hesla a správou „Čo chcete?“ Špecifikované v časti Direktíva "AuthName" (iba latinské znaky a čísla).

Používateľské mená a heslá sú uložené v súbore .htpasswd. Cesta k tomuto súboru je špecifikovaná v direktíve "AuthUserFile".

Dôležité: cesta k súboru .htpasswd je špecifikovaná absolútne, z koreňového adresára servera.

Ak chcete zistiť cestu k .htpasswd, ktorú je potrebné zadať v .htaccess, môžete vytvoriť súbor php obsahujúci:


& php echo $ _SERVER ["DOCUMENT_ROOT"]; ? & gt


Nahrajte tento súbor na server, kde sa nachádza .htpasswd, a otvorte ho v prehliadači. Na vygenerovanej stránke uvidíte absolútnu cestu k zadanému adresáru z koreňového adresára servera.

Heslo pre konkrétny súbor môžete nastaviť takto:


& lt Súbory file.txt & gt
AuthName "To" nie je pre všetkých "
AuthType Basic
AuthUserFile /home/server/your_site.ru/pass/.htpasswd


Heslo pre skupinu súborov:


& lt Súbory "\. (sql) $" & gt
AuthName "To" nie je pre všetkých "
AuthType Basic
AuthUserFile /home/server/your_site.ru/pass/.htpasswd


V tomto prípade budú všetky súbory s príponou .sql prístupné iba s heslom.