php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Request #71576 FILTER_VALIDATE_URL uses an obsolete URI RFC
Submitted: 2016-02-12 15:33 UTC Modified: -
Votes:2
Avg. Score:5.0 ± 0.0
Reproduced:1 of 2 (50.0%)
Same Version:0 (0.0%)
Same OS:1 (100.0%)
From: apokryfos84 at gmail dot com Assigned:
Status: Open Package: Filter related
PHP Version: 5.6.18 OS: Linux
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: apokryfos84 at gmail dot com
New email:
PHP Version: OS:

 

 [2016-02-12 15:33 UTC] apokryfos84 at gmail dot com
Description:
------------
According to http://php.net/manual/en/filter.filters.validate.php

"Validates value as URL (according to ยป http://www.faqs.org/rfcs/rfc2396)"

However RFC 2396 has been made obsolete by RFC 3986. This results in several valid RFC 3986 URIs to not validate correctly, (e.g. protocol agnostic URLs). 



Test script:
---------------
echo filter_var("https://example.com/path/to/resource?query=param",FILTER_VALIDATE_URL)?"yes":"no";
// Echoes yes

echo filter_var("//example.com/path/to/resource?query=param",FILTER_VALIDATE_URL)?"yes":"no";
// Echoes no but should echo yes as per section 4.2 of RFC 3986



Patches

Pull Requests

 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Sat Dec 14 00:01:26 2024 UTC