1

PHP のマジック定数を使用すると、現在実行中の PHP ファイル、現在の関数の名前などの情報にアクセスできます。

このデータはユーザーが直接入力したものではありませんが、ユーザー入力によって確実に影響を受ける可能性があります (例: 特定のパスにアクセスして や に影響を与える__dir__など__file__)。ただし、ほとんどの場合、リモート ユーザー入力がこれらの変数に正確に影響を与えることはできません。 .

たとえば、 にアクセスしたとしても、そのサーバーの変数に悪意のある JavaScript が含まれることexample.com/<script>window.alert("XSS");</script>はありません。__file__代わりに、404 ErrorDocument のパスが含まれます (XSS の例がサーバー上の実際のパスではないと仮定します)。

悪意のあるデータがこれらの変数に侵入する可能性のある他の方法は何ですか?

PHP マジック定数に関連して、私が見逃したセキュリティ上の考慮事項は他にありますか?

文脈上、これは静的な PHP ページを提供する Apache サーバーに関するものであり、サイトに追加のユーザー入力はありません (例: フォーム、ファイルのアップロード、Cookie など)。

4

1 に答える 1