第四 课 : 给 你 搭建 的 网站 加 个 权限 , 如果 人人 都能 访问 的 话 , 会 出 事儿 的!

Dette er første gang, jeg nogensinde har prøvet at arbejde med .htpasswd- og .htaccess-filer, så vær opmærksom på mine barnslige værker.

Jeg har min apache-dokumentrod sat til /www/ på min debian-server. Inde i den er der en mappe med navnet Logs/ som jeg vil begrænse adgangen ved hjælp af en htpasswd. Jeg oprettede min htpasswd-fil ved hjælp af shellens htpasswd-kommando. Og dette er resultatet:

user: hjp: hjpotter92: 

Jeg satte denne fil med navnet .htaccess inde /www/. Det Logs/ har følgende htaccess-fil i det:

AuthName 'Restricted Area' AuthType Basic AuthUserFile /www/.htpasswd AuthGroupFile /dev/null require valid-user 

Dette blev igen oprettet ved hjælp af et online-værktøj (jeg har glemt navnet / linket og kan ikke søge i browserhistorikken nu).

Problemet, da det måske allerede har slået dig, er, at jeg ikke oplever nogen ændring i min Logs-mappeadgang. Mappen er stadig tilgængelig for alle. Jeg kører apache som rodbruger (hvis det betyder noget / hjælper). Hjælp / vejled mig venligst. Jeg har prøvet at læse nogle htaccess-guider og har fulgt nogle af ældre SO-spørgsmål, men har stadig ikke fundet ud af en måde at begrænse adgangen til Logs-mappen med en adgangskode.

  • 1 FYI, det skal det være .htaccess, og du skal: 1.) ikke køre apache som root (frygtelig for sikkerheden) og 2.) bruge fordøjelsesgodkendelse, medmindre du kun får adgang til denne URL via HTTPS. For selvom din .htpasswd filen er SHA1-krypteret, vil browseren sende adgangskoden i almindelig tekst, hvis du bruger grundlæggende godkendelse.
  • @ Lèsemajesté Jeg er fuldt ud klar over at køre apache som root, men da netværket er ret privat (ikke mere end 300 brugere, som jeg alle kender), så det er fint. Jeg bruger MD5 i stedet for SHA1 i .htpasswd.
  • Hvad er meningen med at gemme adgangskoderne i MD5 SHA1 overhovedet, hvis din Apache kører på root. Du er helt sikkert meningsløs, når du ikke bekymrer dig om sikkerhed, og at hashe adgangskoderne.

Løst problemet ved hjælp af en person, jeg kender. :)

Føjede dette segment til httpd.conf:

 Allow from all AuthName 'Restricted Area' AuthType Basic AuthUserFile /www/.htpasswd AuthGroupFile /dev/null Require valid-user  

Fordi der er en linje i httpd.conf som følger:

AllowOverride None 

Det ser ud til, at du fik dit problem løst ved at placere indholdet af din .htaccess-fil i httpd.conf.

En anden løsning ville have været at ændre linjen i din httpd.conf fra

AllowOverride None 

til

AllowOverride All 

arbejdet for dig: Charles Robertson | Ønsker du at kontakte os?

nyttige oplysninger