libxml_disable_entity_loader

外部エンティティの読み込み機能を無効にする

警告

この関数は PHP 8.0.0 で 非推奨になります。この関数に頼らないことを強く推奨します。

説明

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 を使用する拡張モジュール (DOMXMLWriter および XMLReader) で、外部エンティティの読み込み機能を 無効 (true) あるいは有効 (false) にします。

戻り値

変更前の値を返します。

参考

  • libxml_use_internal_errors
  • libxml_set_external_entity_loader
  • The LIBXML_NOENT 定数
  • The LIBXML_DTDVALID 定数
  • The LIBXML_NO_XXE 定数