问题标签 [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 回答
817 浏览

php - 多维数组上的 filter_input_array

我从 from 的结果中得到以下var_export( $post_meta );数组$post_meta = get_post_meta( 80 )

现在我需要过滤其中一些值(如果它们存在),以便我可以安全地使用它们。我执行以下操作

但我得到以下结果var_export( $meta )

类似的东西_cat_id应该返回类似的东西

在结果数组中。

关于如何filter_var_array在多维数组上使用的任何想法

0 投票
1 回答
294 浏览

php - PHP if 语句无法与 filter_var 一起按预期工作

我有一个将变量发布到 PHP 处理脚本的表单。

在处理脚本开始之前,我想清理发布的变量:

至今。超好的。

但是清理和验证电子邮件确实很痛苦。

如果$Sanitised_Email与 不同$Email,我想返回表单页面:

如果$Email_is_validfalse,我想返回表单页面:

当我输入一封无效且需要清理的电子邮件时,这两种if说法都不起作用,例如:

我究竟做错了什么?我在某处搞砸了我的语法吗?

0 投票
1 回答
118 浏览

php - PHP 中的 filter_var_array()

美好的一天,这段代码是错误的:

为什么国旗FILTER_FLAG_NO_ENCODE_QUOTES不起作用?

0 投票
0 回答
840 浏览

php - filter_var 使用有效的电子邮件返回 false

我做了一个函数,从 csv 中获取电子邮件并将它们存储在数据库中,但问题是 filter_var 返回 false。

我有这个循环

执行时,它会回显所有电子邮件,这意味着它失败了,但是回显的电子邮件是有效的,没有空格或引号或任何东西,我在前后放置了破折号以查看是否有任何内容。

是否因为 aschii 编码而失败?

0 投票
2 回答
18411 浏览

php - 用 php 清理 JSON

我总是使用 filter_var($var, FILTER, FLAG); 当我从 $_GET、$_POST 等获取数据时,但现在这些数据是 JSON 字符串,但我没有找到任何过滤器来清理 JSON。有谁知道如何实现这个过滤器?

PHP filter_var(): http://php.net/manual/en/function.filter-var.php

PHP 过滤器常量:http: //php.net/manual/en/filter.filters.sanitize.php

0 投票
2 回答
1739 浏览

php - filter_var 和 filter_input 在输入数据验证上的区别

在验证用户输入时使用这两个函数之一有什么区别?严格来说,对于函数调用,例如不需要更改 $_POST 数组。

$result = filter_var($_POST['user_input'], FILTER_VALIDATE_INT);

对比

$result = filter_input(INPUT_POST, 'user_input', FILTER_VALIDATE_INT);

或者上面的两个调用之间没有区别,甚至在性能方面也没有区别,而只是一个偏好问题?

PS:我知道在 SO 上有一个类似的问题——filter_var 和 filter_input 之间的差异——但这只是说明了这两种方法应该如何被调用,而不是实际的区别是什么。

0 投票
1 回答
39 浏览

php - IP 验证与 php 5.6.25 不一致

谁能解释为什么以下代码在 < 5.6.25 中返回真值,而对上述所有内容返回假值?我的理解是它应该是真实的,就像192.168.0.1一个有效的内部 IP 一样。

var_dump(filter_var('192.168.0.1', FILTER_VALIDATE_IP, FILTER_FLAG_NO_RES_RANGE | FILTER_FLAG_IPV4));

查看跨版本的结果:https ://3v4l.org/u9OFt

0 投票
1 回答
35 浏览

php - 电子邮件未通过 filter_var 时如何防止脚本运行

我正在尝试使用 filter_var 使电子邮件通过验证。但是,如果电子邮件无效,我不确定如何防止脚本将表单数据处理到我的数据库中。

我有

电子邮件显然来自用户输入的内容,并且位于 $_POST 变量中。该脚本确实将电子邮件显示为有效或无效,但它仍然处理脚本并将表单数据放入我的数据库中。我认为放置“exit()”将是解决此问题的方法,或者是在它无效时处理的正确方法。它只是打开一个显示回显打印的新页面。

我错过了什么或做错了什么?理想情况下,我希望表单字段突出显示并给用户一些指示,表明他们输入了格式不正确的电子邮件地址(尽管我知道这是一个不同的主题,有点花里胡哨的东西),但我当然会不想让脚本将数据处理到我的数据库中。

0 投票
0 回答
1144 浏览

php - 如何防止对 url 的以下 XSS 攻击?

我是 XSS 的新手。假设我有一个这样的网址:

XSS 攻击可能是:

我最初的想法是使用 filter_var 和 FILTER_VALIDATE_URL 来测试 url,但是从其他线程,我读到这样的解决方案可能不是 100% 有效。此外,使用这样的解决方案不会删除查询参数中我不想要的所有不需要的字符串。

有什么建议可以防止这种 XSS 攻击吗?

0 投票
1 回答
414 浏览

php - PHP filter_var_array() only check if one value is true?

I'm trying to check if many e-mail addresses are correct in order to send them.

The thing is, while I filter with filter_var_array() and FILTER_VALIDATE_EMAIL, if only one is correct among all the mails, it still proceeds.

Here is my code:

For example: If the array contain "test@test.com" and "unvalidmess". It's sent anyway, because one of the value is correct.

How can I fix this?

Thanks a lot