.htaccess "env से की अनुमति दें" SSLRequire अक्षम कर देता है

वोट
33

अपाचे का उपयोग करना, मैं एक फ़ोल्डर पर HTTPS को बलपूर्वक लागू:

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

और मैं अपाचे AuthBasic का उपयोग कर फ़ोल्डर की रक्षा:

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

इस तरह, पासवर्ड हमेशा HTTPS पर भेजा गया है। यह अच्छी तरह से काम करता है, लेकिन फिर मैं एक ही URL के लिए प्रमाणीकरण को अक्षम करने की कोशिश की:

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

यह URL प्रमाणीकरण की मांग नहीं कर रहा है, और दूसरों से करते हैं। तो सब कुछ ठीक है, लेकिन HTTPS अब और आवश्यकता नहीं है, और पासवर्ड स्पष्ट में भेजा जा सकता है!

मुझसे यहां क्या गलत हो रहा है ?

12/08/2012 को 21:27
उपयोगकर्ता
अन्य भाषाओं में...                            


2 जवाब

वोट
0

इस तरह की अजीब वजह से है, Satisfyके निर्देश उपयोग प्रतिबंध को प्रभावित करता है, और eventhough SSLRequireSSLऔर SSLRequireएसएसएल प्रभावित करते हैं, वे पहुँच प्रतिबंध का हिस्सा माना जाता है। तो जब आप का उपयोग करें Satisfy Anyजब वैध-उपयोगकर्ता की आवश्यकता के बिना के माध्यम से पारित करने के लिए एक यूआरआई के लिए उपयोग की अनुमति देता है, यह भी यह इतना SSL पहुंच आवश्यकता है कि का हिस्सा है बनाया Any। और के लिए विकल्प के बाद से Satisfyहै या तो Allया Any, आप यह नहीं कह सकते "यह हमेशा है, लेकिन इन अन्य 2 किसी भी"।

आप अपने htaccess फ़ाइल में एसएसएल मजबूर करने के लिए mod_rewrite की तरह कुछ का उपयोग करने के लिए हो सकता है:

RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
12/08/2012 को 22:26
का स्रोत उपयोगकर्ता

वोट
1

जॉन की जवाब देने के लिए धन्यवाद, मैं विभिन्न समाधान की कोशिश कर सकते। मैंने पाया इस सवाल का और मेरी स्थिति का जवाब लागू:

मुख्य निर्देशिका में, .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

और में crmउपनिर्देशिका, .htaccess है:

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

यह किसी भी मामले में एसएसएल मजबूर करता है, और करने के लिए उपयोग की अनुमति देता crm/index.php

15/08/2012 को 20:07
का स्रोत उपयोगकर्ता

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