libxml_disable_entity_loader
外部エンティティの読み込み機能を無効にする
警告この関数は PHP 8.0.0 で
非推奨になります。この関数に頼らないことを強く推奨します。
説明
#[\Deprecated]
bool libxml_disable_entity_loader(bool $disable = true)
外部エンティティ読み込み機能の有効/無効を切り替えます。
外部エンティティの読み込みを無効にすると、
XML文書を読み込む際に問題が起こる可能性があることに注意して下さい。
libxml 2.9.0 以降では、エンティティの置換はデフォルトで無効になっているため、LIBXML_NOENT,
LIBXML_DTDVALID, or LIBXML_DTDLOAD.
を使って内部エンティティの参照を解決する必要がない限り、
外部エンティティの読み込みを無効にする必要はありません。
一般的には、外部エンティティの読み込みを抑制するのであれば、
libxml_set_external_entity_loader を使うことが望ましいです。
LIBXML_NO_XXE 定数を使ってこれを防ぐこともできます (PHP 8.4.0 以降、Libxml >= 2.13.0 でのみ利用可能)。
パラメータ
-
disable
-
libxml を使用する拡張モジュール
(DOM、XMLWriter
および XMLReader) で、外部エンティティの読み込み機能を
無効 (
true) あるいは有効 (false) にします。
参考
- libxml_use_internal_errors
- libxml_set_external_entity_loader
- The
LIBXML_NOENT 定数
- The
LIBXML_DTDVALID 定数
- The
LIBXML_NO_XXE 定数