mpdf = $mpdf; } /** * @param string $filename * @return bool * @since 7.1.8 */ public function hasBlacklistedStreamWrapper($filename) { if (strpos($filename, '://') > 0) { $wrappers = stream_get_wrappers(); $whitelistStreamWrappers = $this->getWhitelistedStreamWrappers(); foreach ($wrappers as $wrapper) { if (in_array($wrapper, $whitelistStreamWrappers)) { continue; } if (stripos($filename, $wrapper . '://') === 0) { return true; } } } return false; } public function getWhitelistedStreamWrappers() { return array_diff($this->mpdf->whitelistStreamWrappers, ['phar']); // remove 'phar' (security issue) } }