微信支付近期有XXE重大漏洞,如果不修複,可能會讓您的支付功能停用。
使用了官方SDK還好說,那麼,使用舊版本的EASYWECHAT使用者該怎麼修複呢?
1.首先,我們需要找到檔案XXX\vendor\overtrue\wechat\src\Support\XML.php
2.我們更改檔案中的parse方法(大概在38行)為
public static function parse($xml)
{
$backup = libxml_disable_entity_loader(true);
$result = self::normalize(simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_COMPACT | LIBXML_NOCDATA | LIBXML_NOBLANKS));
libxml_disable_entity_loader($backup);
return $result;
}
加入了libxml_disable_entity_loader(true);漏洞即可修複完畢