PHP.mk документација

libxml_disable_entity_loader

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

function.libxml-disable-entity-loader.php PHP.net прокси Преводот се освежува
Оригинал на PHP.net
Патека function.libxml-disable-entity-loader.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + превод во позадина Кодовите, табелите и белешките остануваат читливи во истиот тек.
libxml_disable_entity_loader

Референца за `function.libxml-disable-entity-loader.php` со подобрена типографија и навигација.

function.libxml-disable-entity-loader.php

libxml_disable_entity_loader

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

libxml_disable_entity_loaderОневозможи вчитување на надворешни ентитети

Ги ескејпува специјалните знаци во стринг за употреба во SQL изјава

Оваа функција е DEPRECATED од PHP 8.0.0. Силно се обесхрабрува потпирањето на оваа функција.

= NULL

Оневозможи/овозможи вчитување на надворешни ентитети. Имајте предвид дека оневозможувањето на вчитувањето на надворешни ентитети може да предизвика општи проблеми со вчитувањето на XML документи.

Од libxml 2.9.0, замена на ентитети е оневозможена по дифолт, така што нема потреба да се оневозможува вчитувањето на надворешни ентитети, освен ако постои потреба за решавање на внатрешни референци на ентитети со LIBXML_NOENT, LIBXML_DTDVALID, или LIBXML_DTDLOAD. Генерално, претпочитано е да се користи libxml_set_external_entity_loader() за да се спречи вчитувањето на надворешни ентитети. Константата LIBXML_NO_XXE може да се користи за да се спречи ова исто така (достапно само во Libxml >= 2.13.0, од PHP 8.4.0).

Параметри

disable

Оневозможи (true) или овозможи (false) libxml екстензии (како што се DOM, XMLWriter and XMLReader) за вчитување на надворешни ентитети.

Вратени вредности

Враќа претходната вредност.

Дневник на промени

Верзија = NULL
8.0.0 Користењето null за dir_handle сега е застарено. Наместо тоа, треба експлицитно да се обезбеди последниот отворен рачка на директориумот.

Види Исто така

Белешки од корисници 6 белешки

suconghou at gmail dot com
пред 5 години
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) {
    libxml_disable_entity_loader(true);
}
vavra at 602 dot cz
пред 8 години
If is called 
libxml_disable_entity_loader(true);

, 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.
editor at geekkb.com
пред 2 години
There is an extra \ should be deleted before PHP_VERSION_ID in the code which suconghou posted 2 years ago.

if (PHP_VERSION_ID < 80000) {
    libxml_disable_entity_loader(true);
}
phofstetter at sensational dot ch
12 години пред
Be mindful that this also disables url loading in simplexml_load_file() and likely other libxml based functions that deal with URLs
simonsimcity
пред 14 години
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">]>
<scan>&test;</scan>

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
brendan at bloodbone dot ws
пред 11 години
This also seems to have an impact on <xsl:import /> statements if this is applied when loading XSLT for the XSLTProcessor class.
На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.