InputFilter

InputFilter 是一个用于过滤来自任何数据源的输入的类

源自 Daniel Morris 的 php 输入过滤器库:[email protected] 原作者:Gianpaolo Racca、Ghislain Picard、Marco Wandschneider、Chris Tobin 和 Andrew Eddie。

1.0

Joomla 框架

方法

__construct

InputFilter 类的构造函数。

__construct(mixed||string|int tagsArray = [], mixed||string|int attrArray = [],  tagsMethod = self::ONLY_ALLOW_DEFINED_TAGS,  attrMethod = self::ONLY_ALLOW_DEFINED_ATTRIBUTES,  xssAuto = 1) : 

1.0

参数

tagsArray

array<string|int, mixed> 允许的 HTML 标签列表

attrArray

array<string|int, mixed> 允许的 HTML 标签属性列表

tagsMethod

int 用于过滤标签的方法,应为 ONLY_*_DEFINED_TAGS 常量之一

attrMethod

int 用于过滤属性的方法,应为 ONLY_*_DEFINED_ATTRIBUTES 常量之一

xssAuto

int 仅自动清除基本内容 = 0,允许清除被阻止的标签/属性 = 1

响应

混合

checkAttribute

用于确定属性内容是否安全的函数

checkAttribute(mixed||string|int attrSubSet) : 
静态

1.0

参数

attrSubSet

array<string|int, mixed> 属性名称和值的 2 元素数组

响应

bool 如果检测到错误代码则为 True

clean

根据实例配置和指定的数据类型清除给定的输入源

clean(string|string[]|object source,  type = 'string') : 

1.0

参数

来源

string|array<string|int, string>|object 要“清除”的输入字符串/字符串数组/对象

类型

string 变量的返回类型:INT:整数 UINT:无符号整数 FLOAT:浮点数 BOOLEAN:布尔值 WORD:仅包含 A-Z 或下划线的字符串(不区分大小写)ALNUM:仅包含 A-Z 或 0-9 的字符串(不区分大小写)CMD:包含 A-Z、0-9、下划线、句点或连字符的字符串(不区分大小写)BASE64:包含 A-Z、0-9、正斜杠、加号或等于号的字符串(不区分大小写)STRING:完全解码和消毒的字符串(默认)HTML:消毒的字符串 ARRAY:数组 PATH:消毒的文件路径 TRIM:从普通、不间断和多字节空格中修剪的字符串 USERNAME:不要使用(使用应用程序特定过滤器)RAW:原始字符串将返回,无需过滤 unknown:未知过滤器将像 STRING 一样工作。如果输入是数组,它将返回一个完全解码和消毒的字符串数组。

响应

mixed $source 参数的“已清除”版本

cleanAlnum

字母数字过滤器

cleanAlnum( source) : 

参数

来源

string 要过滤的字符串

响应

string 过滤后的字符串

cleanAttributes

用于去除不允许的属性的标签的内部方法

cleanAttributes(mixed||string|int attrSet) : mixed||string|int

1.0

参数

attrSet

array<string|int, mixed> 要过滤的属性对数组

响应

array<string|int, mixed> 过滤后的属性对数组

cleanBase64

Base64 过滤器

cleanBase64( source) : 

参数

来源

string 要过滤的字符串

响应

string 过滤后的字符串

cleanBool

布尔过滤器

cleanBool( source) : 

参数

来源

string 要过滤的字符串

响应

bool 过滤后的值

cleanBoolean

cleanBool() 的别名

cleanBoolean( source) : 

参数

来源

string 要过滤的字符串

响应

bool 过滤后的值

cleanCmd

命令过滤器

cleanCmd( source) : 

参数

来源

string 要过滤的字符串

响应

string 过滤后的字符串

cleanDouble

cleanFloat() 的别名

cleanDouble( source) : 

参数

来源

string 要过滤的字符串

响应

float 过滤后的值

cleanFloat

浮点过滤器

cleanFloat( source) : 

参数

来源

string 要过滤的字符串

响应

float 过滤后的值

cleanHtml

HTML 过滤器

cleanHtml( source) : 

参数

来源

string 要过滤的字符串

响应

string 过滤后的字符串

cleanInt

整数过滤器

cleanInt( source) : 

参数

来源

string 要过滤的字符串

响应

int 过滤后的值

cleanInteger

cleanInt() 的别名

cleanInteger( source) : 

参数

来源

string 要过滤的字符串

响应

int 过滤后的值

cleanPath

路径过滤器

cleanPath( source) : 

参数

来源

string 要过滤的字符串

响应

string 过滤后的字符串

cleanString

字符串过滤器

cleanString( source) : 

参数

来源

string 要过滤的字符串

响应

string 过滤后的字符串

cleanTags

用于去除不允许的标签的字符串的内部方法

cleanTags( source) : 

1.0

参数

来源

string 要“清除”的输入字符串

响应

string 输入参数的“已清除”版本

cleanTrim

修剪过滤器

cleanTrim( source) : 

参数

来源

string 要过滤的字符串

响应

string 过滤后的字符串

cleanUint

无符号整数过滤器

cleanUint( source) : 

参数

来源

string 要过滤的字符串

响应

int 过滤后的值

cleanUsername

用户名过滤器

cleanUsername( source) : 

参数

来源

string 要过滤的字符串

响应

string 过滤后的字符串

cleanWord

单词过滤器

cleanWord( source) : 

参数

来源

string 要过滤的字符串

响应

string 过滤后的字符串

decode

尝试转换为纯文本

decode( source) : 
已弃用

1.0

已弃用

此方法将在不再支持 PHP 5.3 后删除。

参数

来源

string 源字符串。

响应

string 纯文本字符串

escapeAttributeValues

转义属性值内的 < > 和 "

escapeAttributeValues( source) : 

1.0

参数

来源

string 源字符串。

响应

string 过滤后的字符串

remove

用于迭代去除所有不需要的标签和属性的内部方法

remove( source) : 

1.0

参数

来源

string 要“清除”的输入字符串

响应

string 输入参数的“已清除”版本

stripCssExpressions

去除以下形式的 CSS 表达式::expression(...)

stripCssExpressions( source) : 

1.0

参数

来源

string 源字符串。

响应

string 过滤后的字符串

常量

ONLY_ALLOW_DEFINED_TAGS

定义 InputFilter 实例应仅允许提供的 HTML 标签列表。

价值 0

1.4.0

类型(s)

int

ONLY_BLOCK_DEFINED_TAGS

定义 InputFilter 实例应阻止定义的 HTML 标签列表并允许其他所有标签。

价值 1

1.4.0

类型(s)

int

ONLY_ALLOW_DEFINED_ATTRIBUTES

定义 InputFilter 实例应仅允许提供的属性列表。

价值 0

1.4.0

类型(s)

int

ONLY_BLOCK_DEFINED_ATTRIBUTES

定义 InputFilter 实例应阻止定义的属性列表并允许其他所有属性。

价值 1

1.4.0

类型(s)

int

属性

tagsArray

允许的标签数组。

1.0

类型(s)

array<string|int, mixed>

attrArray

允许的标签属性数组。

1.0

类型(s)

array<string|int, mixed>

tagsMethod

用于消毒标签的方法

1.0

类型(s)

int

attrMethod

用于消毒属性的方法

1.0

类型(s)

int

xssAuto

用于 XSS 检查的标志。仅自动清除基本内容 = 0,允许清除被阻止的标签/属性 = 1

1.0

类型(s)

int

blockedTags

实例被阻止的标签列表。

1.0

类型(s)

array<string|int, string>

blockedAttributes

实例被阻止的标签属性列表。

1.0

类型(s)

array<string|int, string>

blockedChars

被阻止字符的特殊列表。

1.3.3

类型(s)

array<string|int, string>