PHP 8.1.0 RC 4 available for testing


(PHP 5 >= 5.2.11, PHP 7, PHP 8)

libxml_disable_entity_loaderHarici öğeleri yükleme yeteneğini iptal eder


Bu işlevin kullanımı PHP 8.0.0 itibariyle ÖNERİLMEMEKTEDİR. Bu işleve kesinlikle güvenilmemelidir.


libxml_disable_entity_loader(bool $iptal = true): bool

Harici öğeleri yükleme yeteneğini iptal eder/etkinleştirir. Harici öğelerin yüklenmesini devre dışı bırakmak, XML belgelerinin yüklenmesiyle ilgili genel sorunlara neden olabilir. Ancak, libxml 2.9.0'dan itibaren öğe ikamesi öntanımlı olarak devre dışıdır, bu nedenle dahili öğe gönderimlerini LIBXML_NOENT ile çözümlemeye gerek olmadığı sürece harici öğelerin yüklenmesini devre dışı bırakmaya gerek yoktur. Genel olarak, harici öğelerin yüklenmesini engellemek için libxml_set_external_entity_loader() kullanılması tercih edilir.



DOM, XMLWriter ve XMLReader gibi libxml eklentilerinin harici öğeleri yüklemesini iptal etmek (true) veya etkinleştirmek (false) için kullanılır.

Dönen Değerler

Önceki değeri döndürür.

Ayrıca Bakınız

add a note add a note

User Contributed Notes 6 notes

vavra at 602 dot cz
3 years ago
If is called

, it causes that new SoapClient(.) fails with

SOAP-ERROR: Parsing WSDL: Couldn't load from 'D:\path/dm_operations.wsdl' : failed to load external entity "D:\path/dm_operations.wsdl

because this wsdl imports a xsd as an another external file.
Tested on php 7.1.12, win x64.
suconghou at gmail dot com
9 months ago
In PHP 8.0 and later, PHP uses libxml versions from 2.9.0, libxml_disable_entity_loader is deprecated.
so it is now safe to remove all `libxml_disable_entity_loader` calls on php8

if you want Backwards Compatibility

use this snippet

if (\PHP_VERSION_ID < 80000) {
9 years ago
Using this function you can prevent a vulnerable to Local and Remote File Inclusion attacks.

You'll see it in an example where I load and validate the following string:

<!DOCTYPE scan [<!ENTITY test SYSTEM "php://filter/read=convert.base64-encode/resource=/etc/passwd">]>

One way to prevent that the file in given back is to set this value to 0.
Please take a closer look at the release of symfony 2.0.11
phofstetter at sensational dot ch
7 years ago
Be mindful that this also disables url loading in simplexml_load_file() and likely other libxml based functions that deal with URLs
brendan at bloodbone dot ws
7 years ago
This also seems to have an impact on <xsl:import /> statements if this is applied when loading XSLT for the XSLTProcessor class.
daschtour at me dot com
7 years ago
This function was reported to be not thread safe. So this might affect php-scripts on the same server.
To Top