webForumDet fria alternativet

.htaccess - lösenordsskydda mapp + index

Webbservrar

6 svar · 2 409 visningar · startad av MickeA.com

Medlem sedan feb. 20034 441 inlägg
Frågan#1

Tjena hej!

Har en .htaccess som ser ut såhär:

Options +Indexes 
IndexOptions +FancyIndexing 
order deny,allow 

<FilesMatch "^(.*)$"> 
  deny from all 
  allow from 127.0.0.1
  allow from <min_externa_ip>
</FilesMatch> 

<FilesMatch "^(.htaccess|.htpasswd)$"> 
  deny from all
</FilesMatch>

Eftersom jag får ny ip-adress ibland så skulle jag istället vilja lägga lösenordsskydd. Testade med detta:

Options +Indexes 
IndexOptions +FancyIndexing 
order deny,allow 

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

<FilesMatch "^(.htaccess|.htpasswd)$"> 
  deny from all
</FilesMatch>

När jag går in i mappen blir jag promptad, jag anger rätt användare/lösenord (som är angivet i .htpasswd) men när jag trycker "ok" så får jag INTERNAL SERVER ERROR.

Är det något som är fel i koden ovan, och vad i såfall? Har testat att byta plats på raderna i filen och en del andra saker, men får det inte att fungera.

Kan tillägga att min utv. miljö kör Apache på Windows och livemiljön är Debian/Apache. Dock så fungerar mod_rewrite och allt annat "normalt" i min utv. miljö.

Förslag?

Tack!

Medlem sedan feb. 20034 441 inlägg
#2

Hmm, kom på att jag faktiskt har en loggfil, där följande finns med:

[Wed Jan 05 09:00:11 2011] [error] [client 127.0.0.1] (OS 2)The system cannot find the file specified.  : Could not open password file: C:/Program Files (x86)/Apache Software Foundation/Apache2.2/.htpasswd
[Wed Jan 05 09:00:23 2011] [error] [client 127.0.0.1] client denied by server configuration: C:/Webserver/<PATH>/public_html/admin/logs/.htaccess

Beror det här alltså på att den inte riktigt är med på sökvägen till min htpasswd och försöker med en defaultfil i apachemappen som inte finns? Ska testa lite mer när jag kommer hem i eftermiddag.

Medlem sedan juni 20014 290 inlägg
#3

När du skriver "AuthUserFile ./.htpasswd" så letar den efter filen i den katalogen som webservern har som "current work directory".

Jag har alltid anget hela sökvägen till filen vilket i ditt fall borde vara: "C:/Webserver/<PATH>/public_html/admin/logs/.htpasswd"

Medlem sedan feb. 20034 441 inlägg
#4

Tack, det stämde.
Men jag lyckas fortfarande inte logga in. I Apache's log står det:

[Wed Jan 05 16:19:47 2011] [error] [client 127.0.0.1] user admin: authentication failure for "/AnderssonWeb/<PATH>/public_html/admin/logs/": Password Mismatch

Lösenordet stämmer, har även testat att ange ett nytt. Men kommer inte åt mappen ändå. Skumt?

Medlem sedan juni 20014 290 inlägg
#5

Har du skapat lösenordet med programmet htpasswd?

Medlem sedan feb. 20034 441 inlägg
#6

Nej, hittade den här: http://tools.dynamicdrive.com/password/

Men ska testa ditt förslag!

Medlem sedan feb. 20034 441 inlägg
#7

Tack tack, fungerar hur bra som helst nu!

263 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)