php - filter_var() 接受无效的 URL

标签 php filter-var

为什么 filter_var() 接受并验证此 URL http://http://www.google.com

$website = "http://http://www.google.com";

echo filter_var($website, FILTER_VALIDATE_URL); // This outputs the value of $website

我认为这是错误的。对此有任何解决方案或修复吗?

phpinfo()

enter image description here

最佳答案

您似乎发现了 PHP 中的错误。 PHP 手册指出 FILTER_VALIDATE_URL 根据 http://www.faqs.org/rfcs/rfc2396.html 验证 uris

如果您阅读规范,PHP 显然无法按照指南正确验证。具体来说,在第 3 节(URI 语法组件)中,定义了方案(在您的情况下为 http)可能只存在一次,并且位于 uri 中唯一的冒号之前。

您应该在 https://bugs.php.net/ 报告此错误

找到它干得好!

关于php - filter_var() 接受无效的 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17333612/

相关文章:

PHP FILTER_VALIDATE_EMAIL 无法正常工作

PHP filter_var URL

php - 包含/要求默默地失败

php - MySQL:更新所有行将字段设置为 0,但将一行的字段设置为 1

php - 使用 PHP 验证非私有(private) IP 地址

.htaccess 和过滤 $_GET

php - 如何回显分解数组行

PHP mysqldump 问题

php - Drupal PHP 序列化和反序列化

php - cURL 失败并出现错误 : Couldn't understand the server certificate format