.htaccess "Tillat fra env" deaktiverer SSLRequire

stemmer
33

Ved hjelp av Apache, tvinger jeg HTTPS på en mappe:

SSLOptions +StrictRequire
SSLRequireSSL
SSLRequire %{HTTP_HOST} eq www.example.com
ErrorDocument 403 https://www.example.com/admin/

og jeg beskytte mappen bruker Apache AuthBasic:

AuthType Basic
AuthName Administration
AuthUserFile /path/to/my/.htpasswd
Require valid-user
Satisfy all

Som dette, blir passordet alltid sendt over HTTPS. Det fungerer bra, men da jeg prøvde å deaktivere autentisering for en enkelt URL:

SetEnvIf Request_URI crm/index\.php$ removeme_uri
Order deny,allow
Deny from all
Allow from env=removeme_uri
Satisfy any

Denne nettadressen ikke be om godkjenning, og de andre gjør. Så alt er vel, men HTTPS er ikke nødvendig lenger, og passordet kan bli sendt i klartekst!

Hva gjør jeg galt her?

Publisert på 12/08/2012 klokken 20:27
bruker
På andre språk...                            


2 svar

stemmer
0

Dette er slags merkelig, fordi SatisfyDirektivet påvirker tilgangsbegrensninger, og eventhough SSLRequireSSLog SSLRequirepåvirke SSL, de regnes som en del av tilgang begrensning. Så når du bruker Satisfy Anynår du gir tilgang til en URI å passere gjennom uten behov for valid-user, det gjorde det også slik at SSL-tilgang kravet er en del av det Any. Og siden alternativene for Satisfyenten Alleller Any, du kan ikke si "dette alltid, men disse andre to noen".

Du må kanskje bruke noe sånt mod_rewrite å tvinge SSL i htaccess filen:

RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
Svarte 12/08/2012 kl. 21:26
kilden bruker

stemmer
1

Takk til Jon svar, jeg kunne prøve forskjellige løsninger. Jeg fant dette spørsmålet og anvendt svaret på min situasjon:

I hovedkatalogen inneholder Htaccess

SSLOptions +StrictRequire
SSLRequireSSL
SSLRequire %{HTTP_HOST} eq "www.example.com"
ErrorDocument 403 https://www.example.com/admin/

AuthType Basic
AuthName "Administration"
AuthUserFile /path/to/my/.htpasswd
Require valid-user
Satisfy all

Og i crmunderkatalogen, har .htaccess:

<FilesMatch "index\.php">
    Allow from all
    Satisfy any
</FilesMatch>

Det tvinger SSL i alle fall, og gir tilgang til crm/index.php.

Svarte 15/08/2012 kl. 19:07
kilden bruker

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more