http_build_query引起的签名错误

最近游戏当中有人刷游戏币,导致无法正常运营。所以要对这些和游戏币相关的全部加上签名。

当然,简单一点的来个url过滤后,把要进行签名的参数放入数组当中,然后再用http_build_query来生成新的签名url,但对于http_build_query的文档看得不仔细:对值会进行encodeurl,这就郁闷了,因为有些值是用逗号隔开传的, 结果逗号被编码了,导致flash那边的签名和我这里的签名不一致,程序无法正常运行。

临时的解决方案是:decodeurl。

以后使用时,最好还是把参数写完整些。

string http_build_query ( mixed $query_data [, string $numeric_prefix [, string $arg_separator [, int $enc_type = PHP_QUERY_RFC1738 ]]] )


一个完整的http_build_query是有3个参数的(第4个参数是PHP5.4加的)

Changelog

 

Version Description
5.4.0 The enc_type parameter was added.
5.1.3 Square brackets are escaped.
5.1.2 The arg_separator parameter was added.

http://cn.php.net/manual/en/function.http-build-query.php
300*300
  • 没有相关文章
  • 没有评论
 文章首页关于迷茫时代关于我写意人生
版权所有:迷茫时代 All rights reserved   
执行时间:0.00493 秒