php无法解析外部实体。

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版本中没有出现这种问题。

阅读 4.2k
1 个回答
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进