助け合いフォーラム

LinuC

LinuC Lv2-202(Ver10.0)
問題ID : 23217
問題を開く
Requireディレクティブを使ったアクセス制御で複数の条件を設定する際、いずれかの条件に合致したら許可されるディレクティブはどれか。

この問題はプレミアムコンテンツです。

上に戻る

[修正提案] <RequireAny> 内での Require not について

公開日 2022/06/04

LinuC Lv2-202(Ver10.0)
問題ID : 23217 の 参考 の中で

<RequireAny>の中で、否定条件だけで使うことはできません。デフォルトでその他は拒否になるので、否定条件に合致しないものも全て拒否されてしまうからです。

との記述がありますが、以下のようにした方が正確で分かりやすいように思います。

Require not の結果は偽または中立を返しますが、真を返しません。
真を返さないため、真が一つ以上あるかどうかを判定する<RequireAny>の動作に影響を及ぼしません。
そのため、そもそも<RequireAny>内では Require not が使えなくなっています。

情報ソースは、本問題の参考URLでもある以下です。
https://httpd.apache.org/docs/2.4/mod/mod_authz_core.html#requireany

「否定条件だけで使うことはできません」だと他と組み合わせれば使えることになってしまいます。
「デフォルトでその他は~」は、正直なに言ってるのか分からないです。

2024/01/10 20:52

これは、自分も分からなかったので助かります。
中立を返すのは、珍しいと思いました。


コメント

この返信に対して
コメントを記入できます

スタッフからの返信

s staff_meg

2022/06/06 11:31

Tennannmonnさん、 ご指摘の点を修正致しました。 ご報告、誠にありがとうございました。

この投稿に対して返信しませんか?