[解決済み] htaccessでBasic Authから1つのurlを除外する
質問
あるURL(あるいはもっと良いのは1つの接頭辞)を通常のhtaccessのBasic Auth保護から除外する必要があります。次のようなもの
/callbacks/myBank
または
/callbacks/.*
何かヒントがあるのでしょうか?
私が探しているものは、ファイルを除外する方法です。
これは、URLでなければなりません(これはPHPフレームワークに基づいたソリューションであり、すべてのURLは次のようにリダイレクトされます。
mod_rewrite
から
index.php
). ですから、このURLの下にはファイルはありません。何もありません。
これらのURLのいくつかは、他のサービスからのコールバックであり(IPが分からないので、IPに基づく除外はできません)、ユーザー/パスワードの入力を求めることはできません。
現在の定義は、次のように単純です。
AuthName "Please login."
AuthGroupFile /dev/null
AuthType Basic
AuthUserFile /xxx/.htpasswd
require valid-user
どのように解決するのですか?
Apache 2.4 を使用している場合。
SetEnvIf
と mod_rewrite の回避策はもはや必要ありません。
Require
ディレクティブは式を直接解釈することができますので、 回避策は必要ありません。
AuthType Basic
AuthName "Please login."
AuthUserFile "/xxx/.htpasswd"
Require expr %{REQUEST_URI} =~ m#^/callbacks/.*#
Require valid-user
Apache 2.4 の処理
Require
ディレクティブは
ではなく
でグループ化された
<RequireAll>
にあるかのように
<RequireAny>
これは "or" ステートメントとして動作します。以下は、リクエスト URI とクエリ文字列の両方を一緒にマッチングさせ、有効なユーザーを要求することを示す、より複雑な例です。
AuthType Basic
AuthName "Please login."
AuthUserFile "/xxx/.htpasswd"
<RequireAny>
<RequireAll>
# I'm using the alternate matching form here so I don't have
# to escape the /'s in the URL.
Require expr %{REQUEST_URI} =~ m#^/callbacks/.*#
# You can also match on the query string, which is more
# convenient than SetEnvIf.
#Require expr %{QUERY_STRING} = 'secret_var=42'
</RequireAll>
Require valid-user
</RequireAny>
この例では
/callbacks/foo?secret_var=42
へのアクセスは許可しますが
/callbacks/foo
.
を使用しない限り
<RequireAll>
を使用しない限り、Apache はそれぞれの
Require
を順番に
というように、どの条件を許可するかをまず考えてください。
のリファレンスは
Require
ディレクティブはこちらです。
https://httpd.apache.org/docs/2.4/mod/mod_authz_core.html#require
そして
expr
ession のリファレンスはこちらです。
https://httpd.apache.org/docs/2.4/expr.html
関連
-
[解決済み] 404 Not Found 要求された URL がこのサーバーで見つかりませんでした。
-
[解決済み] Apacheを起動できませんでした - ServerRootは有効なディレクトリである必要があります 指定されたモジュールが見つかりません
-
[解決済み] java.lang.RuntimeException: org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient をインスタンス化できません。
-
[解決済み] Apache PreforkとWorker MPMの比較
-
[解決済み] Apache から tomcat へ:mod_jkとmod_proxyの比較
-
[解決済み] サブディレクトリの.htaccessパスワード保護を解除する方法
-
[解決済み] Apacheです。jenkins のセットアップ時に ProxyRequests コマンドが不正になる
-
[解決済み] laravel 要求された url がこのサーバーに見つかりませんでした。
-
[解決済み] Windows起動時にWAMPが自動的に起動するようにする(ログオンやUACの干渉なし)
-
デフォルトのバーチャルホストで ServerName なしで HTTP を HTTPS にリダイレクトする
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] .htaccess。無効なコマンド 'RewriteEngine' は、おそらくスペルが間違っているか、サーバー構成に含まれていないモジュールによって定義されています。
-
[解決済み] AllowOverrideはここでは許可されません
-
[解決済み] サーバーの設定によりクライアントが拒否される
-
[解決済み】apacheの非wwwからwwwへのリダイレクト
-
[解決済み] .htaccessにコメントを追加する
-
[解決済み] Ubuntuを13.10にアップグレードするとmCryptが存在しない
-
[解決済み] なぜHTTPサーバーはHTTPヘッダー名にアンダースコアを使用しないのか?
-
[解決済み] Apacheでレート制限を行うにはどうすればよいですか?(1秒あたりのリクエスト数)
-
[解決済み] ワイルドカードサブドメインとスタティックサブドメインのバーチャルホスト
-
[解決済み] Apache httpdにmod_sslをインストールする方法は?