加入收藏 | 设为首页 | 会员中心 | 我要投稿 北几岛 (https://www.beijidao.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

[PHP] GET参数加密签名保证安全防止篡改

发布时间:2021-05-21 06:54:22 所属栏目:大数据 来源: https://www.jb51.cc
导读:当我们开发时候需要对外开放接口,不管是GET还是POST,都有点害怕对方传递给我们参数的方式被别人知道,然后直接改改参数搞破坏. 这时候就需要对参数进行一下安全的验证工作,对参数进行加密后的字符串拼接在要传递的参数后面,接收方同等加密进行判断一致 ? 比如

当我们开发时候需要对外开放接口,不管是GET还是POST,都有点害怕对方传递给我们参数的方式被别人知道,然后直接改改参数搞破坏.

这时候就需要对参数进行一下安全的验证工作,对参数进行加密后的字符串拼接在要传递的参数后面,接收方同等加密进行判断一致

?

比如在get参数部分,一般有一个ts的时间戳,防止当前接口的url被频繁的调用,接收方对传过来的时间戳进行判断看看过期没有

把所有要传递的参数拼接成一个字符串,拼接上双方约定的一个秘钥,? 进行md5或者其他哈希函数处理,在get参数中增加一个签名参数传递给接收方

?

例如下面的代码:

????????$array?=array?(? ????????????'grant_type'?=>?'authorization_code', ????????????'code'?=>?$code,? ????????????'client_id'=>$this->clientId, ????????????'ts'=>$this->mtime(), ????????????'redirect_uri'=>$this->redirectUri, ?????????); ?????????ksort($array); ????????$args=http_build_query($array); ????????$signArg=str_replace("&",'',$args); ????????$sign=md5($signArg.$this->clientSecret); ????????$args.="&sign={$sign}"; ????????$url="https:/xxx/1/oauth/token?{$args}"; ? 这个就是把get参数中的&符号去掉,拼接在一起,拼接上秘钥然后md5,在把sign参数拼在url后面,接收方对参数进行同等的加密,进行验签.防止参数被篡改.

(编辑:北几岛)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读