은 어떻게 아파치/htaccess로 구성이를 구성 할 수 있습니다htaccess로 : 조건부 인증
나는 하나 제외한 모든 파일에 대한 인증 HTTP를 원한다. click.php
및 js/clickheat.js
파일은 인증없이 1.2.3.4에서 액세스 할 수 있습니다.
FilesMatch를 시도했지만 반전 할 수 없습니다. 그래서 나는 require valid-user
을 넣을 수 없다. 내가 SetEnv
을 사용하여 생각,하지만 나중에 어떻게 확인합니까?
<FilesMatch "(click\.php|clickheat\.js)">
# what here?
</FilesMatch>
다른 아이디어는 mod_rewrite를 사용하는 것이 었습니다. 음, 주어진 호스트의 두 파일에 대한 액세스를 허용하고 다른 어느 곳에서도 거부 할 수 있습니다. 하지만 HTTP 인증을 사용하여 연결하는 방법은 무엇입니까?
# allows access to two files from the given IP
RewriteCond %{REMOTE_ADDR} 1\.2\.3\.4
RewriteCond %{REQUEST_URI} ^/click.php [OR]
RewriteCond %{REQUEST_URI} ^/js/clickheat\.js
RewriteRule (.*) - [L]
# denies everything else
RewriteRule (.*) - [F,L]
그래서 내가 좋아하는 솔루션은한다 RewriteCond/RewriteRule의를 통해 HTTP-인증을 가능하게 할 것이다.
배경 (또는 내가 이것을하고 싶은 이유) : 클릭 히트 (http://www.labsmedia.com/clickheat/index.html) 설치를 보호하려고합니다. 그리고 1.2.3.4는 리모컨으로 mod_proxy를 실행하고 이것들에 대한 액세스를 클릭 히트 호스트로 파일을 재전송합니다.
Order Deny,Allow
Deny from All
Satisfy Any
AuthType Basic
AuthName "clickheat"
AuthUserFile /var/www/clickheat/.htpasswd
Require valid-user
<FilesMatch "(click\.php|clickheat\.js)">
Deny from All
Allow from 1.2.3.4
</FilesMatch>
키가 인증 또는 IP- 기반 액세스를 허용하거나 Satisfy Any
이다