Receive【⛔计划废弃】


>i 本文档的最新修订日期是: > **2021-07-11** # Receive(计划废弃) >d Receive模块即将计划废弃,将在6.x版本中删除,且不再增添新功能。请使用 `Filter` 模块代替。 ## 模块简述 接收数据并对数据的可靠性进行验证和对数据进行安全处理。 ## 模块配置 配置文件位于 `/Config/Receive.php` 。 * **`DangerChar`** `(Array)` `(省略)` : 此配置项为一个数组,元素为需要被剔除的字符串; * **`KillEmoji`** `(Bool)` `TRUE` : 是否过滤Emoji字符,`TRUE` 代表开启、`FALSE` 代表关闭,默认开启。 ## 公共参数 * **`field(字段)`** `(Array)` `默认值见方法参数`: 检测字段是否存在、字段的值是否为空。 此参数为一个一维数组,数组的键无需定义,值为 `字段名[,非空检查] [,最小长度] [,最大长度]` 的字符串。 其中,`字段名` 为需要检查的字段,`非空检查` 为检查字段对应的值是否为空(值为 `TRUE``FALSE` ,未被定义时默认值为FALSE),`最小长度` 为字段允许的值的最小长度,`最大长度` 为字段允许的值的最大长度。 * **`safe_check(安全检查)`** `(Bool)` `默认值见方法参数`: 是否对数据进行安全过滤,`TRUE` 代表进行、`FALSE` 代表不进行。 * **`decode(解码)`** `(Bool)` `默认值见方法参数`: 是否对数据进行URL解码,无论其是否已经被编码。 `TRUE` 代表进行、`FALSE` 代表不进行。 ## :: SafeCheck()方法 ### 语法 **Receive :: SafeCheck ( 传参数组 )** ### 说明 对字符串进行安全过滤以防止XSS和SQL注入。 此方法 `支持` 中文参数名。 ### 参数 * **`string(字符串)`** `(String)` `<必须>`: 需要过滤的字符串。 ### 返回 `(String)` 类型。 如果需要在网页中显示过滤之前的内容,请使用 `Tool` 模块中的 `Html()` 方法将内容转换。 ### 示例 对字符串进行安全过滤,并将返回的结果存储于 `$SafeStr` 中: ```php $DangerStr="' and 1 = 1 '"; $Config=array( '字符串'=>DangerStr ) $SafeStr=Receive::SafeCheck($Config); ``` ## :: Get()方法 ### 语法 **Receive :: Get ( 传参数组 )** ### 说明 对通过GET方式接收的数据的进行可靠性验证和对数据进行安全处理。 此方法 `支持` 中文参数名。 ### 参数 * **`field(字段)`** `(Array)` `NULL`: 详见本模块 `公共参数` 部分的说明。 * **`safe_check(安全检查)`** `(Bool)` `TRUE`: 详见本模块 `公共参数` 部分的说明。 * **`decode(解码)`** `(Bool)` `TRUE`: 详见本模块 `公共参数` 部分的说明。 ### 返回 `(Array)` 类型。 其本质就是经过处理的 `$_GET` 变量,因此可以将其代替 `$_GET` 使用。 >w 如果需要进行csrf校验,可查阅本文档中有关 `Session` 模块的说明。 ### 示例 对GET请求进行处理,并检验字段 `name` 是否为空,然后将返回的结果存储于 `$Get` 中: ```php $Config=array( '字段'=>array( 'name,TRUE' ) ) $Get=Receive::Get($Config); echo $Get['name']; ``` ## :: Post()方法 ### 语法 **Receive :: Post ( 传参数组 )** ### 说明 对通过POST方式接收的数据的进行可靠性验证和对数据进行安全处理。 此方法 `支持` 中文参数名。 ### 参数 * **`field(字段)`** `(Array)` `NULL`: 详见本模块 `公共参数` 部分的说明。 * **`safe_check(安全检查)`** `(Bool)` `TRUE`: 详见本模块 `公共参数` 部分的说明。 * **`decode(解码)`** `(Bool)` `TRUE`: 详见本模块 `公共参数` 部分的说明。 ### 返回 `(Array)` 类型。 其本质就是经过处理的 `$_POST` 变量,因此可以将其代替 `$_POST` 使用。 >w 如果需要进行csrf校验,可查阅本文档中有关 `Session` 模块的说明。 ### 示例 对POST请求进行处理,并检验字段 `name` 是否为空,然后将返回的结果存储于 `$Post` 中: ```php $Config=array( '字段'=>array( 'name,TRUE' ) ) $Post=Receive::Post($Config); echo $Post['name']; ``` ## :: Header()方法 ### 语法 **Receive :: Header ( 传参数组 )** ### 说明 获取指定的Header头。 此方法 `支持` 中文参数名。 ### 参数 * **`field(字段)`** `(Array)` `NULL`: 详见本模块 `公共参数` 部分的说明。 * **`safe_check(安全检查)`** `(Bool)` `TRUE`: 详见本模块 `公共参数` 部分的说明。 ### 返回 `(Array)` 类型。 >w 与本模块的其它方法不同的是,本方法仅返回指定的Header数据。即如果未指定字段,则返回的值为一个空数组。 ### 示例 对请求的Header进行处理,并检验字段 `key` 是否为空,然后将返回的结果存储于 `$Header` 中: ```php $Config=array( '字段'=>array( 'key,TRUE' ) ) $Header=Receive::Header($Config); echo $Header['key']; ``` ## :: Cookie()方法 ### 语法 **Receive :: Cookie ( 传参数组 )** ### 说明 对浏览器存储的Cookie数据进行安全处理。 此方法 `支持` 中文参数名。 ### 参数 * **`field(字段)`** `(Array)` `NULL`: 详见本模块 `公共参数` 部分的说明。 * **`safe_check(安全检查)`** `(Bool)` `TRUE`: 详见本模块 `公共参数` 部分的说明。 ### 返回 `(Array)` 类型。 其本质就是经过处理的 `$_COOKIE` 变量,因此可以将其代替 `$_COOKIE` 使用。 ### 示例 对请求的Cookie进行处理,并检验字段 `username` 是否为空,然后将返回的结果存储于 `$Cookie` 中: ```php $Config=array( '字段'=>array( 'username,TRUE' ) ) $Cookie=Receive::Cookie($Config); echo $Cookie['username']; ``` ## :: Json()方法 ### 语法 **Receive :: Json ( 传参数组 )** ### 说明 对一个由 `一维数组` 转换而成的 `json字符串` 进行安全处理。 此方法 `支持` 中文参数名。 ### 参数 * **`string(字符串)`** `(String)` `<必须>`: 需要过滤的json字符串。 * **`field(字段)`** `(Array)` `NULL`: 详见本模块 `公共参数` 部分的说明。 * **`safe_check(安全检查)`** `(Bool)` `TRUE`: 详见本模块 `公共参数` 部分的说明。 ### 返回 `(Array)``(Bool)` 类型。 其本质就是经过处理的 `json_decode()` 的返回值,因此可以将其代替 `json_decode()` 使用。 >d 如果返回值为 `FALSE ` ,则意味着传入的Json字符串未能被正确解析。 >w 如果传入的json字符串是由一个多维数组转换而来,那么 `第二维及第二维以上` 的数组 `不会` 被处理。 ### 示例 对传入的Json字符串进行处理,并检验字段 `userid` 是否为空,然后将返回的结果存储于 `$Result` 中: ```php $JsonStr='{"userid":3,"sex":"man"}'; $Config=array( '字符串'=>$JsonStr, '字段'=>array( 'userid,TRUE' ) ) $Result=Receive::Json($Config); echo $Result['userid']; ```