]> git.mxchange.org Git - friendica.git/commitdiff
Break out list of acceptable protocols in "src" attribute into separate variable...
authorMatthew Exon <mat@exon.name>
Mon, 30 Jan 2017 15:48:12 +0000 (15:48 +0000)
committerMatthew Exon <mat@exon.name>
Mon, 30 Jan 2017 15:48:12 +0000 (15:48 +0000)
include/bbcode.php

index ab928bf12f2a29aeea84523a092ab45709e8ab18..0f1a705faa8b15d36ddb0d85260b9addc7917738 100644 (file)
@@ -1163,8 +1163,10 @@ function bbcode($Text,$preserve_nl = false, $tryoembed = true, $simplehtml = fal
        // fix any escaped ampersands that may have been converted into links
        $Text = preg_replace('/\<([^>]*?)(src|href)=(.*?)\&amp\;(.*?)\>/ism', '<$1$2=$3&$4>', $Text);
 
-       // sanitizes src attributes (only relative redir URIs or http URLs)
-       $Text = preg_replace('#<([^>]*?)(src)="(?!http|redir|cid)(.*?)"(.*?)>#ism', '<$1$2=""$4 class="invalid-src" title="' . t('Invalid source protocol') . '">', $Text);
+       // sanitizes src attributes (http and redir URLs for displaying in a web page, cid used for inline images in emails)
+       $allowed_src_protocols = array('http', 'redir', 'cid');
+       $Text = preg_replace('#<([^>]*?)(src)="(?!' . implode('|', $allowed_src_protocols) . ')(.*?)"(.*?)>#ism',
+                            '<$1$2=""$4 class="invalid-src" title="' . t('Invalid source protocol') . '">', $Text);
 
        // sanitize href attributes (only whitelisted protocols URLs)
        // default value for backward compatibility