PluginProbe
TablePress – Tables in WordPress made easy / 3.4
TablePress – Tables in WordPress made easy v3.4
3.4 3.3.4 3.3.3 3.3.2 3.3.1 trunk 1.12 1.14 1.9.2 2.0.4 2.1.7 2.1.8 2.2 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.3 2.3.1 2.3.2 2.4 2.4.1 2.4.2 2.4.3 All 45 releases
← All changes | libraries/vendor/PhpSpreadsheet/Worksheet/Drawing.php +6 -1 3.3.1 → 3.4 View file →
@@ -116,9 +116,13 @@
116 116 $this->setSizesAndType($path);
117 117 }
118 118 }
119 119 // Check if a URL has been passed. https://stackoverflow.com/a/2058596/1252979
120 - } elseif (filter_var($path, FILTER_VALIDATE_URL) || (preg_match('/^([\w\s\x00-\x1f]+):/u', $path) && !preg_match('/^([\w]+):/u', $path))) {
120 + } elseif (
121 + filter_var($path, FILTER_VALIDATE_URL)
122 + || Preg::isMatch('~^phar://~i', $path)
123 + || (Preg::isMatch('/^([\w.\s\x00-\x1f]+):/', $path) && !Preg::isMatch('/^([\w.]+):/', $path))
124 + ) {
121 125 if (!Preg::isMatch('/^(http|https|file|ftp|s3):/', $path)) {
122 126 throw new PhpSpreadsheetException('Invalid protocol for linked drawing');
123 127 }
124 128 if (!$allowExternal) {
@@ -134,8 +138,9 @@
134 138 // https://github.com/php/php-src/issues/17121
135 139 if (str_starts_with($path, 'https:') || str_starts_with($path, 'http:')) {
136 140 $ctxArray = [
137 141 'http' => [
142 + 'follow_location' => 0,
138 143 'user_agent' => 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36',
139 144 'header' => [
140 145 //'Connection: keep-alive', // unacceptable performance
141 146 'Accept: image/*;q=0.9,*/*;q=0.8',