首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >FILTER_FLAG_STRIP_LOW对FILTER_FLAG_STRIP_HIGH?

FILTER_FLAG_STRIP_LOW对FILTER_FLAG_STRIP_HIGH?
EN

Stack Overflow用户
提问于 2012-10-07 14:00:44
回答 2查看 18.4K关注 0票数 19

关于PHP5中的filter_var函数:

我访问了它在:http://php.net/manual/en/filter.filters.sanitize.php的文档,但我仍然有这样的问题:

确切的区别是什么?

为了作出更简单的澄清,请提供一个例子。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-10-07 14:07:34

这些标志在文件的不同页中解释。

FILTER_FLAG_STRIP_LOW在数字值<32的输入中剥离字节,最显著的是空字节和其他控制字符,如ASCII铃铛。如果您打算将输入传递给使用空终止字符串的另一个应用程序,这是一个好主意。通常,在用户输入中不应该出现Unicode码点低于32的字符,除非换行符10和13。

FILTER_FLAG_STRIP_HIGH在数值>127的输入中剥离字节。在几乎每一种编码中,这些字节都表示非ASCII字符,如ä¿等。传递此标志可以是断串编码的一个带助符,它可以成为一个安全漏洞。然而,在几乎所有的用户输入中,都需要使用非ASCII字符.

概括地说:

代码语言:javascript
复制
filter_var("\0aä\x80", FILTER_SANITIZE_STRING) == "\0aä\x80"
filter_var("\0aä\x80", FILTER_SANITIZE_STRING, FILTER_FLAG_STRIP_LOW) == "aä\x80"
filter_var("\0aä\x80", FILTER_SANITIZE_STRING, FILTER_FLAG_STRIP_HIGH) == "\0a"
filter_var("\0aä\x80", FILTER_SANITIZE_STRING,
           FILTER_FLAG_STRIP_LOW | FILTER_FLAG_STRIP_HIGH) == "a"
票数 38
EN

Stack Overflow用户

发布于 2016-01-31 19:48:42

代码语言:javascript
复制
FILTER_FLAG_STRIP_LOW

ASCII< 32删除字符

代码语言:javascript
复制
FILTER_FLAG_STRIP_HIGH

ASCII> 127删除字符

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12769462

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档