您好,欢迎访问一九零五行业门户网

php字符转义函数参考

if(phpversion() set_magic_quotes_runtime(0); }
复制代码
>> 无法通过函数来定义magic_quotes_gpc,因此建议在服务器上统一开启,写程序的时候应该在来判断下,避免没开启gpc引起安全问题 通过addslashes对gpc进行时候转义时,应注意当用户提交数组数据时对键值和值的过滤
if(!get_magic_quotes_gpc()) {
$_get = daddslashes($_get); $_post = daddslashes($_post); $_cookie = daddslashes($_cookie); $_files = daddslashes($_files); } function daddslashes($string, $force = 1) { if(is_array($string)) { foreach($string as $key => $val) { unset($string[$key]); $string[addslashes($key)] = daddslashes($val, $force); } } else { $string = addslashes($string); } return $string; }?>>
复制代码
利用在用户输入或输出时候转义html实体以防止xss漏洞的产生!
今天碰到一个处理文件特殊字符的事情,再次注意到这个问题,在php中:
$str = ffff\0ffff; echo(strlen($str)); echo(\n); for($i=0;$iecho(\n);
复制代码
输出结果: ---------------------- 9 102 102 102 102 0 102 102 102 102
替换特殊字符的例子
$str = ffff\0ffff; $str = str_replace(\x0, , $str); //或者用$str = str_replace(\0, , $str); //或者用$str = str_replace(chr(0), , $str); echo(strlen($str)); echo(\n); for($i=0;$iecho(\n);
复制代码
输出结果: ---------------------- 8 102 102 102 102 102 102 102 102
八进制ascii码例子:
//注意,符合正则\[0-7]{1,3}的字符串,表示一个八进制的ascii码。 $str = \0\01\02\3\7\10\011\08\8; //这里的\8不符合要求,被修正为\\8 (ascii为92和56) echo(strlen($str)); echo(\n); for($i=0;$iecho(\n);
复制代码
输出结果: ---------------------- 11 0 1 2 3 7 8 9 0 56 92 56
十六进制ascii码例子:
$str = \x0\x1\x2\x3\x7\x8\x9\x10\x11\xff; echo(strlen($str)); echo(\n); for($i=0;$iecho(\n);
复制代码
输出结果: ---------------------- 10 0 1 2 3 7 8 9 16 17 255 php特殊字符转义详解php正则表达式转义字符的例子php常用转义字符函数php转义正则表达式字符的函数php实现防注入与表单提交值转义的代码mysql语句中字符转义的方法举例php字符转义的相关注意事项
其它类似信息

推荐信息