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 表达式:
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>