[MediaWiki-commits] [Gerrit] mediawiki...UrlShortener[master]: Replace spaces with %20 and trim user input
jenkins-bot has submitted this change and it was merged. ( https://gerrit.wikimedia.org/r/374702 ) Change subject: Replace spaces with %20 and trim user input .. Replace spaces with %20 and trim user input * Make sure there are no leading or trailing spaces by using trim() * Replacing spaces with %20 is always safe, so normalize to that form Change-Id: Ic0fd36878e2e8c4f8b32c3b47b278d081b919713 --- M UrlShortenerUtils.php M tests/phpunit/UrlShortenerUtilsTest.php 2 files changed, 6 insertions(+), 2 deletions(-) Approvals: jenkins-bot: Verified Jforrester: Looks good to me, approved diff --git a/UrlShortenerUtils.php b/UrlShortenerUtils.php index 8b81939..6c0073e 100644 --- a/UrlShortenerUtils.php +++ b/UrlShortenerUtils.php @@ -94,9 +94,13 @@ // it to a different one when redirecting $url = self::convertToProtocol( $url, PROTO_HTTP ); + $url = trim( $url ); + // TODO: We should ideally decode/encode the URL for normalization, // but we don't want to double-encode, nor unencode the URL that // is directly provided by users (see test cases) + // So for now, just replace spaces with %20, as that's safe in all cases + $url = str_replace( ' ', '%20', $url ); // If the wiki is using an article path (e.g. /wiki/$1) try // and convert plain index.php?title=$1 URLs to the canonical form diff --git a/tests/phpunit/UrlShortenerUtilsTest.php b/tests/phpunit/UrlShortenerUtilsTest.php index 08afb75..2ea1f34 100644 --- a/tests/phpunit/UrlShortenerUtilsTest.php +++ b/tests/phpunit/UrlShortenerUtilsTest.php @@ -105,10 +105,10 @@ 'http://example.org/wiki/Scott_Morrison_(politician)', 'http://example.org/wiki/Scott_Morrison_(politician)' ], - // Ideally spaces should be replaced with underscores + // Ideally spaces should be replaced with underscores for MediaWiki links [ 'http://example.org/wiki/Scott Morrison (politician)', - 'http://example.org/wiki/Scott Morrison (politician)' + 'http://example.org/wiki/Scott%20Morrison%20(politician)' ], // encoded # in URL that is not an anchor [ -- To view, visit https://gerrit.wikimedia.org/r/374702 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: Ic0fd36878e2e8c4f8b32c3b47b278d081b919713 Gerrit-PatchSet: 2 Gerrit-Project: mediawiki/extensions/UrlShortener Gerrit-Branch: master Gerrit-Owner: LegoktmGerrit-Reviewer: Jforrester Gerrit-Reviewer: Thiemo Kreuz (WMDE) Gerrit-Reviewer: jenkins-bot <> ___ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
[MediaWiki-commits] [Gerrit] mediawiki...UrlShortener[master]: Replace spaces with %20 and trim user input
Legoktm has uploaded a new change for review. ( https://gerrit.wikimedia.org/r/374702 ) Change subject: Replace spaces with %20 and trim user input .. Replace spaces with %20 and trim user input * Make sure there are no leading or trailing spaces by using trim() * Replacing spaces with %20 is always safe, so normalize to that form Change-Id: Ic0fd36878e2e8c4f8b32c3b47b278d081b919713 --- M UrlShortener.utils.php M tests/phpunit/UrlShortenerUtilsTest.php 2 files changed, 6 insertions(+), 2 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/UrlShortener refs/changes/02/374702/1 diff --git a/UrlShortener.utils.php b/UrlShortener.utils.php index d13af55..61e3a43 100644 --- a/UrlShortener.utils.php +++ b/UrlShortener.utils.php @@ -94,9 +94,13 @@ // it to a different one when redirecting $url = self::convertToProtocol( $url, PROTO_HTTP ); + $url = trim( $url ); + // TODO: We should ideally decode/encode the URL for normalization, // but we don't want to double-encode, nor unencode the URL that // is directly provided by users (see test cases) + // So for now, just replace spaces with %20, as that's safe in all cases + $url = str_replace( ' ', '%20', $url ); // If the wiki is using an article path (e.g. /wiki/$1) try // and convert plain index.php?title=$1 URLs to the canonical form diff --git a/tests/phpunit/UrlShortenerUtilsTest.php b/tests/phpunit/UrlShortenerUtilsTest.php index 08afb75..2ea1f34 100644 --- a/tests/phpunit/UrlShortenerUtilsTest.php +++ b/tests/phpunit/UrlShortenerUtilsTest.php @@ -105,10 +105,10 @@ 'http://example.org/wiki/Scott_Morrison_(politician)', 'http://example.org/wiki/Scott_Morrison_(politician)' ], - // Ideally spaces should be replaced with underscores + // Ideally spaces should be replaced with underscores for MediaWiki links [ 'http://example.org/wiki/Scott Morrison (politician)', - 'http://example.org/wiki/Scott Morrison (politician)' + 'http://example.org/wiki/Scott%20Morrison%20(politician)' ], // encoded # in URL that is not an anchor [ -- To view, visit https://gerrit.wikimedia.org/r/374702 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ic0fd36878e2e8c4f8b32c3b47b278d081b919713 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/UrlShortener Gerrit-Branch: master Gerrit-Owner: Legoktm___ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits