mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-04-02 01:52:10 +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);
|
||||
|
||||
// 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);
|
||||
return false;
|
||||
|
|
@ -89,11 +89,12 @@ class FileContentFilter
|
|||
* @param resource $fp
|
||||
* @param int $from
|
||||
* @param int $to
|
||||
* @param string $ext
|
||||
* @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;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue