php无法解析外部实体。

natian
  • 125

php代码:

<?php  
$xml=<<<EOF
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE address[
    <!ENTITY xxe SYSTEM "file:///d:/test.txt">
]>
<root><xxe>&xxe;</xxe></root>
EOF;
$data = simplexml_load_string($xml);
var_dump($data);    
echo phpversion();
?>

输出内容:

object(SimpleXMLElement)#1 (1) {
  ["xxe"]=>
  object(SimpleXMLElement)#2 (1) {
    ["xxe"]=>
    object(SimpleXMLElement)#3 (1) {
      ["xxe"]=>
      object(SimpleXMLElement)#4 (0) {
      }
    }
  }
}
5.5.38

d:/test.txt中的内容没有获得。
在5.2.17和5.4.45版本中没有出现这种问题。

回复
阅读 2.9k
1 个回答
✓ 已被采纳
你知道吗?

宣传栏