2

Apache / htaccess構成でこれを構成するにはどうすればよいですか?

1つの例外を除いてすべてのファイルにHTTP認証が必要です。ファイルclick.phpjs/clickheat.jsは、認証なしで1.2.3.4からアクセスできます。

FilesMatchを試しましたが、反転できません。だから入れられないrequire valid-user。使ってみようと思っSetEnvたのですが、後で確認するにはどうすればいいですか?

<FilesMatch "(click\.php|clickheat\.js)">
    # what here?
</FilesMatch>

私の他のアイデアは、mod_rewriteを使用することでした。ええと、私は与えられたホストからの2つのファイルへのアクセスを許可し、他のどこからでもそれを拒否することができます。しかし、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-Authを有効にすることです。

背景(またはこれを実行したい理由):クリックヒート(http://www.labsmedia.com/clickheat/index.html)のインストールを保護しようとしています。また、1.2.3.4は、mod_proxyをリモートで実行し、これらへのアクセスをファイルへのクリックヒートホストにリダイレクトします。

4

1 に答える 1

1

わかりました、私は解決策を見つけました:

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>

重要なのは、Satisfy AnyIPベースまたは認証ベースのアクセスを許可するものです。

于 2012-06-27T09:16:21.247 に答える