问题标签 [filter-var]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
9109 浏览

php - filter_var vs htmlentities vs htmlspecialchars

免责声明

这不是关于我们是否应该为数据库输入转义的问题。这是严格查看标题中三个功能之间的技术差异。

这个问题htmlentities()讨论和之间的区别htmlspecialchars()。但是,它并没有真正讨论filter_var(),我在 Google 上找到的信息更像是“确保在回显之前避开用户输入!”

我的问题是:

  • 为什么都htmlspecialchars()htmlentities()常用过来filter_var()
  • 使用会不会影响性能filter_var()
  • filter_var()不是像其他两个选项一样安全?
  • 是否有任何其他原因不使用以下内容对用户输入进行编码之前echod

filter_var($var, FILTER_SANITIZE_FULL_SPECIAL_CHARS);

0 投票
3 回答
1227 浏览

php - php filter var 返回错误的结果

我想使用 php filer_var 函数,但它返回了错误的结果,似乎它没有考虑范围:

这不应该是整数,因为 54 不在 0 和 24 之间,但它返回 true 并回显“整数”。

这里有什么问题?

谢谢。

0 投票
0 回答
62 浏览

php - PHP 过滤器变量

可能重复:
filter_var vs htmlentities vs htmlspecialchars

我只是想知道使用 filter_var() 进行清理是否有任何好处或缺点,而不是使用像 addslashes() stripslashes() htmlentities() 等。

使用 filter_vars 或其他功能会更有益吗?

我没有任何具体的想法,只是更多的询问而不是问题。

谢谢!

0 投票
1 回答
443 浏览

.htaccess - .htaccess 和过滤 $_GET

您好,我正在编写个人资料页面脚本,在此脚本中,我检查传入的 $_GET 变量的值并验证它是否为整数,然后根据 $_SESSION 值验证该值以确认他们只能访问自己的帐户. 代码如下所示:

例如,如果我尝试传递 '0'、'2-2'、'abc' 或没有值作为 $_GET 值,则此查询正确失败并将它们重定向到主页。

然后我尝试做的是更改我的 .htaccess 文件以将 URL 映射到“profile/1”,只是为了整理它。

我现在发现页面不再使用上面那些无效的 $_GET 参数重定向。它只是试图找到'profile/abc.

有谁知道为什么?

0 投票
2 回答
1835 浏览

php - 在 Adodb for PHP 中清理 SQL 查询的输入

我正在优化一个使用ADODBforPHP的平台。我使用了一个清理功能,可以避免以前版本的 PHP (mysql_escape_string) 的 sql 注入,这显然不再支持也不推荐。

对于那些没有使用过这个库的人,它是这样的:

更新某些行时的示例:

在这种情况下,q($string)是我正在尝试改进的清理功能。我无权在此服务器中安装 PDO,因此这不是一个选项。

当前的 q() 使用 mysql_real_escape_string 没有第二个参数:

有人在另一个论坛上推荐了filter_var ($value, FILTER_SANITIZE_STRING),但老实说,我没有将它用于这些问题。

有关如何提高此功能用途的安全性的任何建议?

更新 1

0 投票
3 回答
4195 浏览

php - PHP 何时使用 filter_var 而不是内置的 php 函数

我注意到你可以用 PHP 函数做很多事情filter_var,也可以用其他函数做。

例如,过滤器FILTER_VALIDATE_REGEXPFILTER_SANITIZE_ENCODED在 PHP 中也有各自的专用功能。

我应该什么时候使用filter_var,什么时候应该使用 PHP 函数?有什么优点和缺点?

0 投票
2 回答
2034 浏览

php - 为什么 PHP filter_var 说这是一个有效的电子邮件地址?

当用户注册我的网站时,我使用filter_varPHP 函数来验证电子邮件地址。

我使用帖子中的这段代码:

然后我做:

现在当我var_dump($email),我得到输出:

我想知道为什么这不会返回假。我认为双引号是不可接受的,那么为什么 PHP 说它是有效的呢?

0 投票
1 回答
7822 浏览

php - FILTER_VALIDATE_BOOLEAN 的输入值为 false

我希望输入只接受“真”或“假”,所以我试图用它FILTER_VALIDATE_BOOLEAN来做到这一点,

它回显错误消息,但不应该。

我怎样才能使它正确?

0 投票
4 回答
5327 浏览

php - PHP - Filter_var 替代方案?

我构建了一个 php 脚本来输出以表单形式发布的数据,但我遇到了一个问题。网站将运行的服务器运行 PHP 5.1.6。这个版本的 PHP 不支持 filter_var。

我需要在短期内(最好是昨天)知道一个替代方案,并且在 Google 或 Stack Overflow 上找不到直接的东西。

也许这里有人过去遇到过同样的问题并为我提供了快速解决方案?

这段代码:

需要与 PHP 5.1.6 兼容,所以邮箱地址经过真实性检查,两个字段都没有使用恶意代码。有小费吗?

非常感谢!

0 投票
4 回答
8292 浏览

php - 使用 filter_var 的 PHP 验证布尔值

filter_var用来验证布尔值,但没想到它无法识别FALSE。为什么会这样?

filter_var(FALSE, FILTER_VALIDATE_BOOLEAN, FILTER_NULL_ON_FAILURE)

返回

null