Req #71231 [Com]: parse_url doesn't urldecode urlencoded characters

[email protected] ("zelnaga at gmail dot com")
Newsgroups php.bugs
Message-ID <[email protected]>
Edit report at https://bugs.php.net/bug.php?id=71231&edit=1

 ID:                 71231
 Comment by:         zelnaga at gmail dot com
 Reported by:        zelnaga at gmail dot com
 Summary:            parse_url doesn't urldecode urlencoded characters
 Status:             Open
 Type:               Feature/Change Request
 Package:            URL related
 Operating System:   Windows 7
 PHP Version:        7.0.1
 Block user comment: N
 Private report:     N

 New Comment:

Double decoding would be a BC breaking change but none-the-less I believe it's the correct behavior to decode. If you make an HTTP request to that URL Google's webserver decodes it as /search?q=test .

Like if you do /search?q=te%28st you'd get q=te%28st in the query part of the array but I believe it should be q=te#st because that's what the web server wold see with $_GET['q'] - not te%28st.


Previous Comments:
------------------------------------------------------------------------
[2015-12-28 20:50:37] [email protected]

If anyone care to implement decoding feature, please _never_ decode by default, since double(multiple) decoding is a cause of security issues.

------------------------------------------------------------------------
[2015-12-28 20:47:30] [email protected]

This is not a bug.

------------------------------------------------------------------------
[2015-12-28 19:31:07] zelnaga at gmail dot com

Description:
------------
If you urlencode a character in a URL than the parsed version of that URL ought to contain that character urldecoded in the output.

Test script:
---------------
<?php
$a = parse_url('https://www.google.com/se%61rch?q=test');

print_r($a);

Expected result:
----------------
Array
(
    [scheme] => https
    [host] => www.google.com
    [path] => /search
    [query] => q=test
)

Actual result:
--------------
Array
(
    [scheme] => https
    [host] => www.google.com
    [path] => /se%61rch
    [query] => q=test
)


------------------------------------------------------------------------



--
Edit this bug report at https://bugs.php.net/bug.php?id=71231&edit=1
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.