PHP使用mb_check_encoding检查一个字符串是否在指定的代码是有效的
要求:PHP版(PHP > = 4.4.3 4,PHP 5 5.1.3)
描述:bool mb_check_encoding($ var { string = null字符串编码= {,美元mb_internal_encoding)(编辑)
检查指定的字节流是否在指定的代码中有效,它可以有效地避免所谓的无效编码攻击(无效编码攻击)。
参数
VaR
要检查的字节流。如果省略此参数,此函数将检查原始请求中的所有输入。
编码
将编码。
返回值
成功时返回true,失败时返回true。
要检查一个字符串编码utf - 8是正确的,我推荐以下功能来实现mb_check_encoding():
复制代码代码如下所示:
< PHP
功能check_utf8($str){
$ len = strlen(str);
($ i = 0;$ i;
C =美元ORD($str {我});
如果($ 128){
如果((($ = 247))返回false;
($ C > 239)字节= 4美元;
($ C > 223)字节= 3美元;
($ C > 191)字节= 2美元;
否则返回false;
如果(($ +字节))返回false;
当($字节> 1){
美元+;
$ = ORD($str {我});
如果(191美元)返回false;
字节—;
}
}
}
返回true;
}的check_utf8 / /结束
>