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

Dette er første gang jeg noen gang har prøvd å jobbe med .htpasswd- og .htaccess-filer, så vær så snill å påpeke mine barnslige arbeider.

Jeg har apache-dokumentroten satt til /www/ på min debian-server. Inne i det er det en mappe som heter Logs/ som jeg vil begrense tilgangen ved hjelp av en htpasswd. Jeg opprettet htpasswd-filen min ved hjelp av skallets htpasswd-kommando. Og dette er resultatet:

user: hjp: hjpotter92: 

Jeg satte denne filen .htaccess innsiden /www/. De Logs/ har følgende htaccess-fil i seg:

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

Dette ble igjen opprettet ved hjelp av et elektronisk verktøy (jeg glemte navnet / lenken, og kan ikke søke i nettleserhistorikken nå).

Problemet, som det kanskje allerede har slått deg, er at jeg ikke opplever noen endring i tilgangen til Logg-mappen. Mappen er fremdeles tilgjengelig for alle. Jeg kjører apache som rotbruker (hvis det betyr noe / hjelper). Hjelp / veiled meg. Jeg har prøvd å lese noen htaccess-guider og har fulgt noen av eldre SO-spørsmål, men har fremdeles ikke funnet ut en måte å begrense tilgangen til Logg-mappen med et passord.

  • 1 FYI, det skal det være .htaccess, og du bør: 1.) ikke kjøre apache som root (forferdelig for sikkerheten), og 2.) bruke fordøyelsesautentisering med mindre du bare får tilgang til nettadressen via HTTPS. For selv om din .htpasswd filen er SHA1-kryptert, vil nettleseren sende passordet i ren tekst hvis du bruker grunnleggende autentisering.
  • @ Lèsemajesté Jeg er fullstendig klar over å kjøre apache som root, men siden nettverket er ganske privat (ikke mer enn 300 brukere, alle jeg kjenner til), så det er greit. Jeg bruker MD5 i stedet for SHA1 i .htpasswd.
  • Hva er poenget med å lagre passordene i MD5 SHA1 i det hele tatt hvis Apache kjører på rot. Sikkert at du ikke er bekymret for sikkerhet da og å hashe passordene er meningsløst.

Løste problemet ved hjelp av en person jeg kjenner. :)

Lagt dette segmentet til httpd.conf:

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

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

AllowOverride None 

Det ser ut til at du fikk problemet løst ved å sette innholdet i .htaccess-filen i httpd.conf.

En annen løsning ville vært å endre linjen i httpd.conf fra

AllowOverride None 

til

AllowOverride All 

fungert for deg: Charles Robertson | Ønsker du å kontakte oss?