問題タブ [magic-constants]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - PHPマジック定数を使用することのセキュリティリスクは何ですか?
PHP のマジック定数を使用すると、現在実行中の PHP ファイル、現在の関数の名前などの情報にアクセスできます。
このデータはユーザーが直接入力したものではありませんが、ユーザー入力によって確実に影響を受ける可能性があります (例: 特定のパスにアクセスして や に影響を与える__dir__など__file__)。ただし、ほとんどの場合、リモート ユーザー入力がこれらの変数に正確に影響を与えることはできません。 .
たとえば、 にアクセスしたとしても、そのサーバーの変数に悪意のある JavaScript が含まれることexample.com/<script>window.alert("XSS");</script>はありません。__file__代わりに、404 ErrorDocument のパスが含まれます (XSS の例がサーバー上の実際のパスではないと仮定します)。
悪意のあるデータがこれらの変数に侵入する可能性のある他の方法は何ですか?
PHP マジック定数に関連して、私が見逃したセキュリティ上の考慮事項は他にありますか?
文脈上、これは静的な PHP ページを提供する Apache サーバーに関するものであり、サイトに追加のユーザー入力はありません (例: フォーム、ファイルのアップロード、Cookie など)。
php - PHPマジック定数 - 自動的に関数に渡されますか?
アクセス文字列の配列を読み取り、結果に応じて true または false を返す単純なアクセス制御システムを作成しました。
次のように呼び出します (たとえば、list_user_dataclassのメソッド内User)。
その中で、現在のユーザーがlist_user_dataclass のメソッドにアクセスする権限を持っているかどうかを確認しますUser。
それは機能しますが、私は常に指定__CLASS__しなければならないのが面倒です__METHOD__。呼び出し関数の関数内からこれらの値を取得して、魔法の定数を渡すことなく簡単に呼び出すことができる方法はありますか?current_user_cancurrent_user_can()
私のコードはそのまま動作しますが、改善できると考えています。
これは可能ですか?
php - PHP - 必要なスクリプト内で必要なスクリプトのマジック定数 __FILE__ を取得することは可能ですか?
必要なスクリプト (別のファイルを必要とするファイル) のマジック定数 __FILE__ を必要なファイル内で取得することは可能ですか?
例えば:
必要な.php
必要な.php
注:それらは同じフォルダーにありません。問題は、必要なファイルに定数を作成せずにその機能を使用できる可能性についてです。
@MarkusZeller コメントについて:
提案は良いですが、必要なファイルに絶対パス定数を含めるか、相対パスで作業するかを選択すると、最初のオプションが優先されます。