>php教程 >php手册 >用PHP解析JS escape加密过的数据!

用PHP解析JS escape加密过的数据!

WBOY
WBOY원래의
2016-06-06 19:48:28933검색

今天在写程序的时候,发现后台没法解析前台的ajax数据。经过DEBUG,发现ajax发送前夕,数据被使用javascript的escape处理过了。 url = url + n= + vname + v= + escape(val) 如此这般,英文均没有问题,如果是中文,就会出现%uXXXX之类的东西。后面php怎么解

今天在写程序的时候,发现后台没法解析前台的ajax数据。经过DEBUG,发现ajax发送前夕,数据被使用javascript的escape处理过了。

url = url + "&n=" + vname + "&v=" + escape(val)

如此这般,英文均没有问题,如果是中文,就会出现%uXXXX之类的东西。后面php怎么解析呢?加个函数吧:

function js_unescape($str)
{
	$ret = '';
	$len = strlen($str);
	for ($i = 0; $i >6)).chr(0x80|($val&0x3f));
			else $ret .= chr(0xe0|($val>>12)).chr(0x80|(($val>>6)&0x3f)).chr(0x80|($val&0x3f));
			$i += 5;
		} else if ($str[$i] == '%') {
			$ret .= urldecode(substr($str, $i, 3));
			$i += 2;
		} else $ret .= $str[$i];
	}
	return $ret;
}

这样一来,

js_unescape($_GET('v'))就是解析的数据了



성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.