Adgangskode til htaccess-filen. Simpel adgangskodebegrænsning

Beskyttelse af et websted ved hjælp af selve Apache-serveren er en af ​​de enkleste og samtidig ret pålidelige metoder. I dette tilfælde behøver du ikke at gennemtænke din sikkerhedsstrategi grundigt, designe den og implementere den i kode. Desuden for at skabe godt system forsvaret skal have tilstrækkelige kvalifikationer i denne sag. Ved at bruge den indbyggede beskyttelse af Apache WEB-serveren forenkler du i høj grad din opgave - alt du skal gøre er at udføre en simpel sekvens af handlinger, og dit websted vil være tilstrækkeligt beskyttet. Denne artikel vil i detaljer beskrive de trin og handlinger, du skal tage. Og i slutningen af ​​artiklen vil der være eksempler på .htaccess-filer.

Grundlæggende godkendelse

Denne artikel vil diskutere den enkleste og overkommelig måde sikkerhed - grundlæggende autentificering.

Kommentar

Autentificering er den proces, hvorved det bekræftes, at nogen er den, de siger, de er. Verifikation involverer typisk indtastning af et brugernavn og en adgangskode.

Lad os se på, hvordan grundlæggende godkendelse fungerer.
Når en besøgende får adgang til en beskyttet mappe, Apache server som svar på anmodningen, sender en header med kode 401 (401 authentication required header). Den besøgendes browser accepterer 401-headeren og viser et vindue med felter til indtastning af brugernavn og adgangskode. Efter indtastning af brugernavn og adgangskode sendes disse data tilbage til serveren, som kontrollerer brugernavnet for at se, om det er på en speciel liste, og adgangskoden er korrekt. Hvis alt er korrekt, så får den besøgende adgang til ressourcen. Sammen med overskriften sendes et særligt navn kaldet scope til browseren. Browseren cacher ikke kun brugernavnet og adgangskoden, så det kan sendes sammen med hver anmodning, men også omfanget. Takket være dette udføres indtastning af navn og adgangskode i den beskyttede mappe kun én gang. Ellers skal de indtastes ved hver anmodning til den beskyttede mappe. Caching af godkendelsesparametre (navn, adgangskode, omfang) sker normalt kun inden for én session.

Kommentar

grundlæggende autentificering Brugernavnet og adgangskoden sendes til netværket i åben form gennem hele sessionen, når den besøgende arbejder med den beskyttede mappe. En hacker kan opsnappe denne information vha netværksanalysator pakker. Denne type autentificering bør ikke bruges, hvor det er nødvendigt reel beskyttelse kommercielt værdifuld information.

Kommentar

Apache WEB-server understøtter en anden type beskyttelse - digest-godkendelse. Under digest-godkendelse transmitteres adgangskoden ikke i klartekst, men som en hash-kode beregnet ved hjælp af MD5-algoritmen. Derfor kan adgangskoden ikke opsnappes ved scanning af trafik. Men for at bruge digest-godkendelse skal du desværre installere et specielt modul på serveren - mod_auth_digest. Og dette er kun inden for serveradministrationens kompetence. Indtil for nylig blev digest-godkendelse heller ikke understøttet af alle typer browsere.

Beskyttelse af websted gjort let

For at beskytte webstedet skal du udføre følgende sekvens af handlinger: opret en fil med adgangskoder, kopier den til serveren, opret en .htaccess-fil og kopier den også til serveren.
For at organisere beskyttelse har du brug for.

  1. WEB-sted og FTP-adgang til det.
  2. Rettigheder til at oprette .htpaccess-filer og organisere beskyttelse ved hjælp af dem.
  3. Adgangskodegenereringsværktøj htpasswd.exe

Kontrol af driften af ​​.htaccess-filen på serveren

For at kontrollere, om du har rettigheder til at organisere beskyttelse ved hjælp af .htaccess-filer, skal du oprette tekstfil med navnet .htaccess (det første tegn er en prik, der er ingen udvidelse).

Kommentar

Det er praktisk at oprette .htaccess-filer ved hjælp af den indbyggede editor i Far, WindowsCommander, TotalCommander osv. skallerne samt i Notepad-editoren.

Kommentar

Så notesblokken ikke erstatter automatisk txt-udvidelse, i dialogboksen Gem, i rullelisten "filtype" skal du vælge indstillingen "Alle filer".

Ris. 1. Gemmer .htaccess-filer i notesblok

Kontrol af driften af ​​.htaccess

AuthType Basic
AuthName admin
kræver gyldig bruger

Derefter skal du via FTP-adgang omskrive .htaccess-filen på webstedet i den mappe, du vil beskytte.

Kommentar

Effekten af ​​.htaccess-filer strækker sig ikke kun til den mappe, hvor filen er placeret, men også til alle undermapper, der ligger på et lavere niveau.

Derefter skal du få adgang til denne mappe via din browser. Hvis du beskytter admin-mappen og har omskrevet .htaccess-filen der, så skal du indtaste adresse bar browser følgende URL: http://www.mysite.ru/admin/.

Hvis du efter dette bliver bedt om at indtaste dit login og din adgangskode, som i figuren nedenfor, var testen vellykket, og du kan fortsætte med at beskytte biblioteket.

Ris. 2. Vinduet til indtastning af login og adgangskode

Hvis du gjorde alt korrekt, men vinduet til indtastning af adgangskode ikke vises, betyder det, at serverindstillingerne forbyder dig at bruge .htaccess-filer til at beskytte mapper. For at løse dette problem skal du kontakte serveradministrationen eller bruge en anden type beskyttelse.
Når det er blevet fastslået, at .htaccess-filerne virker, bør du fjerne den testfil, du lige har skrevet, fra webstedet.

Kommentar

Hvis du af en eller anden grund ikke kan slette .htaccess-filen, skal du oprette en tom .htaccess-fil og erstatte den med filen på serveren.

Oprettelse af en fil med passwords.htpasswd

Adgangskodefilen oprettes af htpasswd.exe-værktøjet. Hvis du har Apache WEB-serveren installeret på din maskine, så dette værktøj er placeret i mappen med installeret Apache-spis i en undermappe beholder.

Kommentar

Hvis du ikke har Apache installeret, kan du downloade hjælpeprogrammet htpasswd.exe.

For at arbejde med htpasswd.exe-værktøjet skal du bruge en kommandolinjegrænseflade. Programmer som Far, WindowsCommander osv. har en kommandolinjegrænseflade. Her vil vi se på at arbejde med kommandolinjen ved hjælp af cmd-værktøjet, som er inkluderet i Windows 2000/XP osv.
Klik "Start" -> "Kør", indtast i indtastningslinjen cmd og tryk Okay. Et CMD-værktøjsvindue åbnes.

Ris. 3. CMD-værktøjsvindue

Dernæst skal du gå til den mappe, hvor htpasswd.exe-værktøjet er placeret. Lad os sige, at Apache-serveren er installeret i mappen c:/Apache2, og indtast derefter kommandolinje kommando: cd../../apache2/bin og tryk enter.


Du er flyttet til mappen med: Apache2in. Nu skal du give en kommando for at oprette en fil med en adgangskode. Skriv følgende i kommandolinjen:

htpasswd -cm .htpasswd admin

  • -cm er kontakterne til værktøjet. Tast c - angiver, hvad der skal oprettes ny fil med adgangskoder. Hvis en fil med dette navn eksisterer allerede, så vil den blive overskrevet. Nøgle m - bestemmer kryptering ved hjælp af MD5-algoritmen.
    .htpasswd - navn på adgangskodefilen (du kan bruge et hvilket som helst navn).
    admin - navnet på den besøgende, der vil få adgang til det begrænsede område på webstedet.

Som svar skal du blive bedt om at indtaste en adgangskode og gentage den. Hvis alt er korrekt, vises følgende besked til sidst: Tilføjelse af adgangskode til brugeradmin. Og i mappen c: Apache2in vil der være en fil .htpasswd, som vil indeholde en linje med brugernavnet og hashkoden til hans adgangskode. For at tilføje en anden bruger til den samme .htpasswd-fil skal du fjerne -c-switchen fra htpasswd.exe-hjælpestartkommandoen

htpasswd -m .htpasswd admin



Kommentar

Hvis en fil med adgangskoder ikke blev oprettet, er det muligt, at nogle hjælpenøgler ikke understøttes på dit operativsystem. Nogle gange understøttes f.eks. tasten m ikke. I dette tilfælde skal du indtaste htpasswd -c .htpasswd admin
For at se nøglerne og parametrene for hjælpeprogrammet skal du indtaste htpasswd.exe /? Du får en beskrivelse af grænsefladen.

Så adgangskodefilen er blevet oprettet. Nu skal du omskrive det på serveren. Det er stærkt tilrådeligt at placere filer med adgangskoder over webstedets rodmappe - hvor besøgende ikke vil have adgang.
Hvis dette ikke er muligt, skal filer med adgangskoder beskyttes. Dette kan gøres ved hjælp af .htaccess-filer. For at beskytte filer med adgangskoder skal du oprette en fil med linjerne vist i følgende liste.

Filbeskyttelse.htpasswd


benægte fra alle

Og læg den i den mappe, hvor din adgangskodefil er placeret. Nu vil besøgende på webstedet ikke kunne få adgang til det.
Adgangskodefilen er oprettet og er beskyttet mod uautoriseret adgang. Nu skal du oprette en .htaccess-fil, der skal bruges i den beskyttede mappe.

Oprettelse af .htaccess-filen

Følgende direktiver kan bruges til at beskytte en mappe:

  • AuthType - Den type godkendelse, der skal bruges. For grundlæggende autentificering skal dette direktiv sættes til: Basic
    AuthName - Navnet på godkendelsesomfanget. Tekst, der hjælper den besøgende med at forstå, hvor de forsøger at få adgang. For eksempel kan der skrives: "Privat zone. Kun for administrator!"
    AuthUserFile - sti til adgangskodefilen (.htpasswd).
    AuthGroupFile - sti til gruppefilen, hvis den findes.
    Kræv - Et eller flere krav, der skal være opfyldt for at få adgang til et begrænset område.

Eksempel på .htaccess-fil

AuthType Basic
AuthName "Privat zone. Kun for administrator!"
AuthGroupFile /usr/host/mysite/group
AuthUserFile /usr/host/mysite/.htpasswd
kræver gruppeadministratorer

AuthUserFile- og AuthGroupFile-direktiverne bør beskrives mere detaljeret. De indeholder absolutte stier til de tilsvarende filer fra serverroden.

Opmærksomhed!

Relative veje vil ikke virke!

Du kan finde ud af stien fra serverroden ved at spørge serveradministrationen, eller du kan selv prøve at finde ud af det. For at gøre dette skal du køre funktionen phpinfo(). En lilla tabel vil blive vist på skærmen. Værdien af ​​den absolutte sti fra serverroden kan ses i variablerne: doc_root, open_basedir, DOCUMENT_ROOT.
Require-direktivet bestemmer, hvem der har adgang til et begrænset område. For eksempel,

Angiv oplysningerne for at oprette .htpasswd- og .htaccess-filer:

Log på:
Adgangskode:
Fuld sti til filen.htpasswd

Hilsen (titel):

HASH-adgangskodeformat: MD5 krypt SHA


Denne adgangskode blev genereret ved hjælp af htpasswd og er velegnet til Linux og Windows
Kopier denne linje til din .htpasswd fil:

Admin:SbMAWhf7pD0aYEzh Husk, kun én post kan være pr. linje!

For at begrænse adgangen til det valgte bibliotek skal du kopiere disse linjer til din .htaccess fil:

AuthType Basic AuthName "Det er beskyttet område!" AuthUserFile /usr/host/mysite/.htpasswd Kræv valid-user

For kun at nægte adgang til filen private.zip skal du kopiere disse linjer til din .htaccess fil:

AuthType Basic AuthName "Det er beskyttet område!" AuthUserFile /usr/host/mysite/.htpasswd Kræv valid-user nægt fra alle #næg adgang fra browseren til.htpasswd

Bemærk venligst, at .htaccess- og .htpasswd-filerne skal gemmes i unix-format. For eksempel i Far Manager Dette kan opnås ved at trykke på Shift+F2 i filredigeringstilstand og vælge "i UNIX-format (LF)" i menuen, der vises.

Direktiver og beskrivelse af .htaccess-filen, der bruges til at begrænse adgangen

  • AuthType - Den type godkendelse, der skal bruges. For grundlæggende autentificering skal dette direktiv sættes til: Basic
  • AuthName - Navnet på godkendelsesomfanget. Tekst, der hjælper den besøgende med at forstå, hvor de forsøger at få adgang. For eksempel kan der skrives: "Privat zone. Kun for administrator!"
  • AuthUserFile - fuld vej til adgangskodefilen (.htpasswd). Relative stier vil ikke fungere.
  • AuthGroupFile - sti til gruppefilen, hvis den findes.
  • Kræv - Et eller flere krav, der skal være opfyldt for at få adgang til et begrænset område.
    • kræve gyldig bruger - adgang er tilladt for alle verificerede brugere
    • kræver brugeradmin alex mango - kun besøgende med navnene admin, alex, mango har adgang. De skal naturligvis være autentificerede.
    • kræve gruppeadministratorer - adgang er tilladt for alle brugere fra administratorgruppen

Gruppe filer

Hvis en gruppe mennesker skal have adgang til et beskyttet område på webstedet, er det praktisk at forene folk i grupper og tillade adgang ved at afgøre, om brugere tilhører gruppen.

Gruppefilformatet er en tekstfil, som hver linje beskriver separat gruppe. Den første linje skal være gruppenavnet efterfulgt af et kolon. Og så er de besøgende, der indgår i gruppen, anført adskilt af et mellemrum.

Eksempel på gruppefil:

Administratorer: admin alex mango Brugere: gæstebruger max23

Admin-gruppen inkluderer besøgende med navnene admin, alex, mango. Og gruppen Brugere inkluderer besøgende med navnene gæst, bruger, max23.

Et eksempel på en .htaccess-fil til adgang for alle autoriserede brugere:

AuthType Basic AuthName "Privat zone. Kun for administrator!" AuthUserFile /usr/host/mysite/.htpasswd kræver valid-user

Et eksempel på en .htaccess-fil til kun adgang for admin- og root-brugere:

AuthType Basic AuthName "Privat zone. Kun for administrator!" AuthUserFile /usr/host/mysite/.htpasswd kræver brugeradmin root

Kun adgang til brugere fra administratorgruppen:

AuthType Basic AuthName "Privat zone. Kun for administrator!" AuthUserFile /usr/host/mysite/.htpasswd AuthGroupFile /usr/host/mysite/group kræver gruppeadministratorer

Du kan gøre dig bekendt med de resterende direktiver og muligheder i .htaccess-filen i artiklen .htaccess


.

I nogen tid nu er TheBats indbyggede certifikatdatabase for SSL holdt op med at fungere korrekt (det er ikke klart af hvilken grund).

Når du tjekker indlægget, vises en fejl:

Ukendt CA-certifikat
Serveren præsenterede ikke et rodcertifikat i sessionen, og det tilsvarende rodcertifikat blev ikke fundet i adressebogen.
Denne forbindelse kan ikke være hemmelig. Vær venlig
kontakt din serveradministrator.

Og du tilbydes et valg af svar - JA / NEJ. Og så hver gang du fjerner mail.

Løsning

I dette tilfælde skal du erstatte S/MIME- og TLS-implementeringsstandarden med Microsoft CryptoAPI i TheBat-indstillingerne!

Da jeg skulle kombinere alle filerne til én, konverterede jeg først alt doc-filer til en enkelt pdf fil(ved hjælp af Acrobat programmer), og derefter overført den til fb2 gennem en online-konverter. Du kan også konvertere filer individuelt. Formaterne kan være absolut alle (kilde) - doc, jpg og endda et zip-arkiv!

Navnet på siden svarer til essensen :) Online Photoshop.

Opdatering maj 2015

Jeg fandt en anden god side! Endnu mere praktisk og funktionel til at skabe en helt tilpasset collage! Dette er webstedet http://www.fotor.com/ru/collage/. Nyd det for dit helbred. Og jeg vil selv bruge det.

I mit liv stødte jeg på problemet med at reparere en elektrisk komfur. Jeg har allerede gjort meget, lært meget, men på en eller anden måde haft lidt med fliser at gøre. Det var nødvendigt at udskifte kontakterne på regulatorer og brændere. Spørgsmålet opstod - hvordan bestemmes brænderens diameter på en elektrisk komfur?

Svaret viste sig at være enkelt. Du behøver ikke at måle noget, du kan nemt bestemme efter øjet, hvilken størrelse du har brug for.

Mindste brænder- det er 145 millimeter (14,5 centimeter)

Mellem brænder- det er 180 millimeter (18 centimeter).

Og endelig det meste stor brænder- det er 225 millimeter (22,5 centimeter).

Det er nok at bestemme størrelsen med øjet og forstå, hvilken diameter du har brug for brænderen. Da jeg ikke vidste dette, var jeg bekymret for disse dimensioner, jeg vidste ikke, hvordan jeg skulle måle, hvilken kant jeg skulle navigere osv. Nu er jeg klog :) Jeg håber, jeg også hjalp dig!

I mit liv stod jeg over for et sådant problem. Jeg tror, ​​jeg ikke er den eneste.

Der er situationer, hvor hjemmesiden du laver ikke skal være offentlig, men bruges som en slags service for en begrænset kreds af mennesker. Du kan selvfølgelig blokere for autentificering via PHP, men der er en næsten elementær måde - luk mappen på siden ved hjælp af Apache. For eksempel ved hjælp af filer .htaccess Og .htpasswd. Det er det, vi vil tale om nu.

Opret en .htpasswd-fil med adgangskoder

For at indstille en adgangskode skal vi først generere en fil .htpasswd. Dette gøres ved hjælp af htpasswd-værktøjet, som findes i versioner til både Linux og Windows.

htpasswd -c .htpasswd admin

Nøgle -Med angiver, at der skal oprettes en ny adgangskodefil. .htpasswd- navnet på den genererede fil. admin– login på den bruger, som vil få adgang til den begrænsede del af webstedet. Efter at have kørt værktøjet med alle de nødvendige parametre, vil du blive bedt om at indtaste din adgangskode og gentage den. Hvis du allerede har oprettet en .htaccess-fil, og du vil tilføje en ny bruger til den, skal du blot køre værktøjet ved at angive en fil med adgangskoder uden en nøgle –c.

Den oprettede fil er tekst og indeholder brugerlogin og adgangskode-hash, som er adskilt af et kolon. Som standard er hashing-algoritmen DES. Men du kan ændre det og bruge MD5-algoritmen med en nøgle -m, Men den bedste mulighed ved hjælp af SHA-algoritmen( skifte -s).

Beskyttelse af dit websted ved hjælp af .htaccess

Så filen er oprettet, så tilføjer vi til rodmappe website file.htaccess eller tilføje til en eksisterende følgende linjer:


# Luk adgang til .htaccess-filen
Bestil tillad, afvis
Afvis fra alle
Opfyld alle

# Angiv placeringen af ​​.htpasswd-filen, aktiver godkendelse
AuthUserFile /etc/apache2/passwd/.htpasswd
AuthName "Adgangskodebeskyttet område"
AuthType Basic
Kræv gyldig bruger

Parameter AuthUserFile peger på den absolutte sti til filen .htpasswd. Af en eller anden for mig ukendt grund, i mange manualer, som jeg har set, er adgangskodefilen af ​​en eller anden grund gemt i brugerens hjemmemappe. Jeg vil ikke anbefale at gemme denne fil i din hjemmemappe, meget mindre i webstedets rodmappen.

Efter oprettelse af filen og placering af filen .htaccess i roden af ​​webstedet, ville det være en god idé at genstarte apache-processen.

Jeg vil også gerne henlede din opmærksomhed på, at det ville være en god idé at lukke siden for indeksering søgemaskiner. For at gøre dette skal du oprette en fil i rodmappen på webstedet robots.txt med følgende indhold:


Brugeragent: *
Disallow: /

På dette tror jeg, vi kan afslutte dette indlæg. Hvis du har andre spørgsmål om emnet, venter jeg på dem i kommentarerne.

Bruger standard Apache moduler, er det muligt at anmode om et brugernavn og en adgangskode fra brugeren, når han forsøger at få adgang specifik side eller katalog. Adgang vil være tilladt, hvis login og adgangskode findes i en speciel fil.

Oprettelse af en adgangskodefil

Legitimationsfilen kaldes normalt .htpasswd og er placeret i en mappe, hvortil adgangen skal begrænses. Som standard nægter Apache adgang til alle filer, der begynder med .ht, så filen med adgangskoder er ligesom filen .htaccess, kan ikke læses af nogen besøgende på dit websted.

Hver linje i filen gemmer data om én bruger. Login og krypteret adgangskode er adskilt af et kolon. Eksempel:

Admin:YFC5nYLiUI2ig vasya:bnqw1eZHP2Ujs

Et hjælpeprogram bruges til at kryptere adgangskoder htpasswd, som leveres sammen med Apache. For at oprette en ny fil med data om
bruger admin, indtast kommandoen:

$ htpasswd -c .htpasswd admin

For at tilføje til allerede eksisterende fil Den anvendte kommando er:

$ htpasswd .htpasswd vasya

Efter lanceringen vil hjælpeprogrammet bede dig om at indtaste adgangskoden to gange, og hvis de matcher, vil brugerdataene blive tilføjet.

Adgangsbegrænsning

Nu, for at aktivere godkendelsesanmodningen, når du forsøger at få adgang, skal du foretage ændringer i konfigurationsfilen eller til filen .htaccess. Jeg minder dig om, at brugen af ​​filer .htaccess uønsket, da det reducerer serverens ydeevne.

AuthType Basic AuthName "Administrativ zone" AuthUserFile /var/www/example.com/admin/.htpasswd Kræv valid-user

Du skal ændre biblioteksstien (Directory), stien til adgangskodefilen (AuthUserFile) og promptstrengen (AuthName), der vises for brugeren, når du bliver bedt om en adgangskode. Du kan finde ud af betydningen af ​​andre direktiver fra Apache-dokumentationen.

Når du har foretaget ændringer i konfigurationsfilen, skal du sørge for at genstarte Apache.

Noter

I i dette eksempel Den enkleste mulighed for at begrænse adgangen er givet. Generelt er mulighederne i Apache-godkendelsessystemet meget bredere. For eksempel kan brugere opdeles i grupper, passwords gemmes i en database eller rekvireres via en speciel protokol fra andre servere. Vi anbefaler, at du gør dig bekendt med alle funktionerne i Apache-dokumentationen.

Eksemplet viser enkleste type Godkendelse - Grundlæggende. Du skal være opmærksom på, at i dette tilfælde overføres adgangskoden fra klienten til serveren i klar, ukrypteret form. Hvis dette ikke passer dig, kan du bruge en anden type godkendelse eller HTTPS-protokollen.