]> git.mxchange.org Git - friendica.git/blobdiff - src/Object/OEmbed.php
Merge pull request #7540 from vinzv/patch-1
[friendica.git] / src / Object / OEmbed.php
index 20f27ae0bf12dea38e948e06dd8fe7fc6930f73e..d787e2ee98e771e163026e1cc90e9a052ba1ddb8 100644 (file)
@@ -42,6 +42,19 @@ class OEmbed
                }
 
                foreach ($properties as $key => $value) {
+                       if (in_array($key, ['thumbnail_width', 'thumbnail_height', 'width', 'height'])) {
+                               // These values should be numbers, so ensure that they really are numbers.
+                               $value = (int)$value;
+                       } elseif (is_array($value)) {
+                               // Ignoring arrays.
+                       } elseif ($key != 'html') {
+                               // Avoid being able to inject some ugly stuff through these fields.
+                               $value = htmlentities($value);
+                       } else {
+                               /// @todo Add a way to sanitize the html as well, possibly with an <iframe>?
+                               $value = mb_convert_encoding($value, 'HTML-ENTITIES', mb_detect_encoding($value));
+                       }
+
                        if (property_exists(__CLASS__, $key)) {
                                $this->{$key} = $value;
                        }