客户端使用加密算法和一个key将接口名,参数等信息加密, 例如将
http://example.com/getUser?id=100
加密为
http://example.com/decode?data=xxxxx
其中, data的值xxxxx为getUser?id=100加密后的值
服务器接收到data后,对data的值使用和客户端相同的算法和key进行解密, 解析接口和参数,并调用
下面是我写的一个解析方法, 供你参考下
/**
* 解码
*/
public function decode()
{
$this->load->library('mcrypt');
$data = $this->myinput->get('data', false, '');
$data = base64_decode($data);
$data = $this->mcrypt->decrypt($data);
$parse_url = parse_url($data);
$function = $parse_url['path'];
if (isset($parse_url['query'])) {
$arrQuery = explode('&', $parse_url['query']);
foreach ($arrQuery as $param) {
$item = explode('=', $param);
$_GET[$item[0]] = $item[1];
}
}
return $this->$function();
}