パスワードで保護したいCakePHPアプリケーションがあります。注意が必要なのは、特定のアドレス (CakePHP コントローラーの機能) を除いて、すべてのファイル/場所にパスワードを使用してのみアクセスできるようにすることです。
アドレスは次のようになります。
http://example.com/MyApp/MyController/MyFunction?MyParam=MyValue
他のすべての場所は、パスワードでのみアクセスできる必要があります
http://example.com/MyApp/MyController/MyOtherFunction
http://example.com/MyApp/MyController/MyOtherFunction
http://example.com/MyApp/MyOtherController/MyOtherFunction
最初に root .htaccess
-File で試してみましたが、CakePHP の全体的な書き直しが非常に難しく、.htaccess-Files では<LocationMatch>
ディレクティブが許可されていません。だから私はそれを試してみました<FilesMatch>
が、実際のファイルは常に同じです: index.php
. mod_rewrite はすべてのアドレスを
次のステップでは、apache-configuration で試し、このセクションを配置しました。
<LocationMatch ^/MyApp/MyController/MyFunction.*>
AuthType Basic
AuthName "Secure Area"
AuthUserFile /path/to/.htpasswd
Require user MyUser
</LocationMatch>
正規表現は一致しましたが、方法が間違っていました。MyFunction を保護しますが、残りは保護しません。