Viewing file: StreamWrapperChecker.php (828 B) -rw-rw-rw- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
namespace Mpdf\File;
use Mpdf\Mpdf;
final class StreamWrapperChecker {
private $mpdf;
public function __construct(Mpdf $mpdf) { $this->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) }
}
|