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
På 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.
- WEB-sted og FTP-adgang til det.
- Rettigheder til at oprette .htpaccess-filer og organisere beskyttelse ved hjælp af dem.
- 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:
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:
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.
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.