diff --git a/REVISION.md b/REVISION.md index 7c87858..2c8c909 100644 --- a/REVISION.md +++ b/REVISION.md @@ -9,7 +9,7 @@ v0.7.0.x (latest) ------------------------------------- * Add permalink to setup for comparing images with `webroot/compare/compare.php`, fix #92. -* Support spaces in filenames for image src, fix #91. +* Allow space in filename by using `urlencode()` and allow space as valid filenam character. fix #91. * Support redirections for remote images, fix #87, fix #90. * Improving usage of Travis and Scrutinizer. * Naming cache-file using md5 for remote images, fix #86. diff --git a/webroot/img.php b/webroot/img.php index b270be3..c280f79 100644 --- a/webroot/img.php +++ b/webroot/img.php @@ -340,13 +340,13 @@ if (isset($shortcut) /** * src - the source image file. */ -$srcImage = get('src') +$srcImage = urldecode(get('src')) or errorPage('Must set src-attribute.'); // Check for valid/invalid characters $imagePath = getConfig('image_path', __DIR__ . '/img/'); $imagePathConstraint = getConfig('image_path_constraint', true); -$validFilename = getConfig('valid_filename', '#^[a-z0-9A-Z-/_\.:]+$#'); +$validFilename = getConfig('valid_filename', '#^[a-z0-9A-Z-/_ \.:]+$#'); preg_match($validFilename, $srcImage) or errorPage('Filename contains invalid characters.'); diff --git a/webroot/img_config.php b/webroot/img_config.php index 754bc67..633e134 100644 --- a/webroot/img_config.php +++ b/webroot/img_config.php @@ -94,10 +94,10 @@ return array( * A regexp for validating characters in the image or alias filename. * * Default value: - * valid_filename: '#^[a-z0-9A-Z-/_\.:]+$#' + * valid_filename: '#^[a-z0-9A-Z-/_ \.:]+$#' * valid_aliasname: '#^[a-z0-9A-Z-_]+$#' */ - //'valid_filename' => '#^[a-z0-9A-Z-/_\.:]+$#', + //'valid_filename' => '#^[a-z0-9A-Z-/_ \.:]+$#', //'valid_aliasname' => '#^[a-z0-9A-Z-_]+$#', diff --git a/webroot/imgd.php b/webroot/imgd.php index d1080f5..2d3751c 100644 --- a/webroot/imgd.php +++ b/webroot/imgd.php @@ -3382,13 +3382,13 @@ if (isset($shortcut) /** * src - the source image file. */ -$srcImage = get('src') +$srcImage = urldecode(get('src')) or errorPage('Must set src-attribute.'); // Check for valid/invalid characters $imagePath = getConfig('image_path', __DIR__ . '/img/'); $imagePathConstraint = getConfig('image_path_constraint', true); -$validFilename = getConfig('valid_filename', '#^[a-z0-9A-Z-/_\.:]+$#'); +$validFilename = getConfig('valid_filename', '#^[a-z0-9A-Z-/_ \.:]+$#'); preg_match($validFilename, $srcImage) or errorPage('Filename contains invalid characters.'); diff --git a/webroot/imgp.php b/webroot/imgp.php index 89f87c5..4f99e9c 100644 --- a/webroot/imgp.php +++ b/webroot/imgp.php @@ -3382,13 +3382,13 @@ if (isset($shortcut) /** * src - the source image file. */ -$srcImage = get('src') +$srcImage = urldecode(get('src')) or errorPage('Must set src-attribute.'); // Check for valid/invalid characters $imagePath = getConfig('image_path', __DIR__ . '/img/'); $imagePathConstraint = getConfig('image_path_constraint', true); -$validFilename = getConfig('valid_filename', '#^[a-z0-9A-Z-/_\.:]+$#'); +$validFilename = getConfig('valid_filename', '#^[a-z0-9A-Z-/_ \.:]+$#'); preg_match($validFilename, $srcImage) or errorPage('Filename contains invalid characters.'); diff --git a/webroot/imgs.php b/webroot/imgs.php index d1080f5..2d3751c 100644 --- a/webroot/imgs.php +++ b/webroot/imgs.php @@ -3382,13 +3382,13 @@ if (isset($shortcut) /** * src - the source image file. */ -$srcImage = get('src') +$srcImage = urldecode(get('src')) or errorPage('Must set src-attribute.'); // Check for valid/invalid characters $imagePath = getConfig('image_path', __DIR__ . '/img/'); $imagePathConstraint = getConfig('image_path_constraint', true); -$validFilename = getConfig('valid_filename', '#^[a-z0-9A-Z-/_\.:]+$#'); +$validFilename = getConfig('valid_filename', '#^[a-z0-9A-Z-/_ \.:]+$#'); preg_match($validFilename, $srcImage) or errorPage('Filename contains invalid characters.');