.htaccess „Hagyjuk az ENV” letiltja SSLRequire

szavazat
33

Az Apache, én HTTPS egy mappát:

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

és védik meg a mappát a Apache AuthBasic:

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

Mint ez a jelszó mindig HTTPS protokollon keresztül. Ez jól működik, de aztán megpróbáltam kikapcsolni hitelesítés egyetlen URL:

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

Ez az URL nem kér hitelesítést, és a többiek nem. Tehát minden rendben van, de a HTTPS már nem szükséges, és a jelszót lehet elküldeni világos!

Mit csinálok rosszul van?

A kérdést 12/08/2012 21:27
felhasználó
Más nyelveken...                            


2 válasz

szavazat
0

Ez furcsa, mert az Satisfyirányelv érint hozzáférési korlátozásokat, és pedig elérte a SSLRequireSSLés SSLRequirebefolyásolja SSL, ők úgy része a hozzáférés korlátozása. Tehát, ha használja Satisfy Any, amikor lehetővé teszi a hozzáférést egy URI átjutni anélkül, hogy érvényes-felhasználó, akkor is tette, így az SSL hozzáférés követelmény része, hogy a Any. És mivel a lehetőségek Satisfyaz vagy All, vagy Anynem lehet mondani, hogy „ez mindig, de a többi 2 minden”.

Lehet, hogy használ valami hasonló mod_rewrite kényszeríteni SSL a htaccess fájlban:

RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
Válaszolt 12/08/2012 22:26
a forrás felhasználó

szavazat
1

Hála Jon választ, tudtam próbálni a különböző megoldásokat. Találtam ezt a kérdést , és alkalmazta a választ a helyzet:

A fő könyvtárat, a .htaccess tartalmaz

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

És a crmkönyvtárban, a .htaccess van:

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

Ez arra kényszeríti az SSL minden esetben, és lehetővé teszi a hozzáférést a crm/index.php.

Válaszolt 15/08/2012 20:07
a forrás felhasználó

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