mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-05-11 21:12:15 +09:00
Strip namespace prefixes before checking dangerous tags in SVG
This commit is contained in:
parent
c5d453a2df
commit
a18b45f0f8
1 changed files with 4 additions and 3 deletions
|
|
@ -44,7 +44,7 @@ class FileContentFilter
|
||||||
$skip_xml = preg_match('/^(hwpx)$/', $ext);
|
$skip_xml = preg_match('/^(hwpx)$/', $ext);
|
||||||
|
|
||||||
// Check SVG files.
|
// Check SVG files.
|
||||||
if (($ext === 'svg' || $is_xml) && !self::_checkSVG($fp, 0, $filesize))
|
if (($ext === 'svg' || $is_xml) && !self::_checkSVG($fp, 0, $filesize, $ext))
|
||||||
{
|
{
|
||||||
fclose($fp);
|
fclose($fp);
|
||||||
return false;
|
return false;
|
||||||
|
|
@ -89,11 +89,12 @@ class FileContentFilter
|
||||||
* @param resource $fp
|
* @param resource $fp
|
||||||
* @param int $from
|
* @param int $from
|
||||||
* @param int $to
|
* @param int $to
|
||||||
|
* @param string $ext
|
||||||
* @return bool
|
* @return bool
|
||||||
*/
|
*/
|
||||||
protected static function _checkSVG($fp, $from, $to)
|
protected static function _checkSVG($fp, $from, $to, $ext)
|
||||||
{
|
{
|
||||||
if (self::_matchStream('/(?:<|<)(?:script|iframe|foreignObject|object|embed|handler)|javascript:|xlink:href\s*=\s*"(?!data:)/i', $fp, $from, $to))
|
if (self::_matchStream('/(?:<|<|:)(?:script|iframe|foreignObject|object|embed|handler)|javascript:|(?:\s|:)href\s*=\s*"(?!data:)/i', $fp, $from, $to))
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue