Piwikを使用してWebサイトの訪問者を追跡しています。 「セキュリティ」の問題として、私はindex.php
のいくつかの既知のIPへのアクセスのみを許可します。私の問題は、Piwikオプトアウトスニペットがこのindex.php
を介してのみ利用可能であるということです。
RewriteRule
およびLocation
/Files
ディレクティブを使用してこれを解決しようとしましたが、特定のURLパラメーターのみを許可し、他のユーザーに拒否させることはできません。
Piwikを(あまり)知らないがApacheを知らないすべての人にとって、ここでの基本的なポイントは次のとおりです。
index.php
を介して利用できます。index.php
経由で利用できます:index.php?module=CoreAdminHome&action=optOut&lang=DE
私が欲しいのは:
index.php
へのアクセスを拒否します。 (完了)index.php
に設定されたオプトアウトパラメータへのアクセスを許可します。 (保留中)Apacheで特定のパラメータを持つURLのみを許可するにはどうすればよいですか?
私は試した:
Order allow,deny
Allow from all
<Files "index.php">
Order allow,deny
Deny from all
Allow from 127.0.0.1
</Files>
RewriteEngine On
RewriteRule ^/piwik-opt-out.html$ index.php?module=CoreAdminHome&action=optOut [L]
<Location "/piwik-opt-out.html">
Order allow,deny
Allow from all
</Location>
ルールを次のように縮小できると思います。
RewriteEngine on
RewriteCond %{REMOTE_ADDR} !127\.0\.0\.1
RewriteCond %{QUERY_STRING} !action=optOut
RewriteRule index.php - [R=401]