Receive【⛔计划废弃】

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