Apache-2.2
允許來自 HTTP-basic 保護的 SSL apache 站點的引用者
我有一個受
HTTP
基本身份驗證保護的 apache 站點。身份驗證工作正常。現在我想通過依賴HTTP Referer
標頭繞過來自特定網站的使用者的身份驗證。這是配置:
SetEnvIf Referer "^http://.*.example\.org" coming_from_example_org <Directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride None Deny from all Allow from env=coming_from_example_org AuthName "login required" AuthUserFile /opt/http_basic_usernames_and_passwords AuthType Basic Require valid-user Satisfy Any </Directory>
這對 工作正常
HTTP
,但對HTTPS
. 我的理解是,為了檢查HTTP
標頭,SSL
必須完成握手,但apache
想<Directory>
在握手之前檢查指令SSL
,即使我將它們放在配置文件的底部。問:我該如何解決這個問題?
PS:我並不癡迷於
HTTP referer
標題,我可以使用其他選項來允許來自已知網站的使用者繞過身份驗證。
您可能想要改進您的身份驗證機制。鑑於引用標頭由客戶端控制,我希望有人大約需要 18 秒才能弄清楚您在做什麼並繞過它。
我將使用的機制可能涉及為您的站點設置一個 cookie,表明使用者已“預認證”。然後,您可以在 apache 配置中測試該 cookie 的存在(和加密有效)內容,並允許以這種方式訪問。