Browse Source

Merge pull request #3030 from Hypolite/bug/proxy_url_extension

proxy_url: Fix extension extraction for URLs containing a . after a ?
pull/3040/head
Michael Vogel 5 years ago
committed by GitHub
parent
commit
7141ce9163
  1. 16
      mod/proxy.php

16
mod/proxy.php

@ -281,14 +281,14 @@ function proxy_url($url, $writemode = false, $size = '') {
$longpath .= '/' . strtr(base64_encode($url), '+/', '-_');
// Checking for valid extensions. Only add them if they are safe
$pos = strrpos($url, '.');
if ($pos) {
$extension = strtolower(substr($url, $pos + 1));
$pos = strpos($extension, '?');
if ($pos) {
$extension = substr($extension, 0, $pos);
}
// Extract the URL extension, disregarding GET parameters starting with ?
$question_mark_pos = strpos($url, '?');
if ($question_mark_pos === false) {
$question_mark_pos = strlen($url);
}
$dot_pos = strrpos($url, '.', $question_mark_pos - strlen($url));
if ($dot_pos !== false) {
$extension = strtolower(substr($url, $dot_pos + 1, $question_mark_pos - ($dot_pos + 1)));
}
$extensions = array('jpg', 'jpeg', 'gif', 'png');

Loading…
Cancel
Save