爲什麼filter_var()
接受並驗證此URL http://http://www.google.com
?filter_var()接受無效URL
$website = "http://http://www.google.com";
echo filter_var($website, FILTER_VALIDATE_URL); // This outputs the value of $website
我認爲這是錯誤的。任何解決方案或修復?
phpinfo()
爲什麼filter_var()
接受並驗證此URL http://http://www.google.com
?filter_var()接受無效URL
$website = "http://http://www.google.com";
echo filter_var($website, FILTER_VALIDATE_URL); // This outputs the value of $website
我認爲這是錯誤的。任何解決方案或修復?
phpinfo()
好像你已經找到了在PHP中的錯誤。 PHP手冊指出FILTER_VALIDATE_URL根據http://www.faqs.org/rfcs/rfc2396.html驗證uris
如果您閱讀了規範,PHP顯然未能根據指南進行正確驗證。具體來說,在第3節(URI句法組件)中,它定義了方案(在你的情況下爲http)可能只存在一次,並且在uri中唯一的冒號之前。
你應該找到它在https://bugs.php.net/
良好的工作報告中的錯誤!
謝謝,爲此提交了一個錯誤報告。 https://bugs.php.net/bug.php?id=65141 –
爲什麼你認爲該URL是錯誤的? – zerkms
@zerkms有兩個'http://'。 –
糟糕,我的注意力最終被'com.ph'偷走了) – zerkms