当前位置: 首页 > news >正文

重庆李家沱网站建设怎样做品牌推广网站

重庆李家沱网站建设,怎样做品牌推广网站,丽江网站建设公司,wordpress博php的api接口在实际工作中#xff0c;使用PHP写api接口是经常做的#xff0c;PHP写好接口后#xff0c;前台就可以通过链接获取接口提供的数据#xff0c;而返回的数据一般分为两种情况#xff0c;xml和json,在这个过程中#xff0c;服务器并不知道#xff0c;请求的来源…php的api接口在实际工作中使用PHP写api接口是经常做的PHP写好接口后前台就可以通过链接获取接口提供的数据而返回的数据一般分为两种情况xml和json,在这个过程中服务器并不知道请求的来源是什么有可能是别人非法调用我们的接口获取数据因此就要使用安全验证。验证原理示意图原理从图中可以看得很清楚前台想要调用接口需要使用几个参数生成签名。时间戳当前时间随机数随机生成的随机数口令前后台开发时一个双方都知道的标识相当于暗号算法规则商定好的运算规则上面三个参数可以利用算法规则生成一个签名。前台生成一个签名当需要访问接口的时候把时间戳随机数签名通过URL传递到后台。后台拿到时间戳随机数后通过一样的算法规则计算出签名然后和传递过来的签名进行对比一样的话返回数据。算法规则在前后台交互中算法规则是非常重要的前后台都要通过算法规则计算出签名至于规则怎么制定看你怎么高兴怎么来。我这个算法规则是1 时间戳随机数口令按照首字母大小写顺序排序2 然后拼接成字符串3 进行sha1加密4 再进行MD5加密5 转换成大写。前台这里我并没有实际的前台直接使用一个PHP文件代替前台然后通过CURL模拟GET请求。我使用的是TP框架URL格式是pathinfo格式。源代码/*** Created by PhpStorm.* User: Administrator* Date: 2017/3/16 0016* Time: 15:56*/namespace Client\Controller;use Think\Controller;class ClientController extends Controller{const TOKEN API;//模拟前台请求服务器api接口public function getDataFromServer(){//时间戳$timeStamp time();//随机数$randomStr $this - createNonceStr();//生成签名$signature $this - arithmetic($timeStamp,$randomStr);//url地址$url http://www.apitest.com/Server/Server/respond/t/{$timeStamp}/r/{$randomStr}/s/{$signature};$result $this - httpGet($url);dump($result);}//curl模拟get请求。private function httpGet($url){$curl curl_init();//需要请求的是哪个地址curl_setopt($curl,CURLOPT_URL,$url);//表示把请求的数据已文件流的方式输出到变量中curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);$result curl_exec($curl);curl_close($curl);return $result;}//随机生成字符串private function createNonceStr($length 8) {$chars abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789;$str ;for ($i 0; $i $length; $i) {$str . substr($chars, mt_rand(0, strlen($chars) - 1), 1);}return z.$str;}/*** param $timeStamp 时间戳* param $randomStr 随机字符串* return string 返回签名*/private function arithmetic($timeStamp,$randomStr){$arr[timeStamp] $timeStamp;$arr[randomStr] $randomStr;$arr[token] self::TOKEN;//按照首字母大小写顺序排序sort($arr,SORT_STRING);//拼接成字符串$str implode($arr);//进行加密$signature sha1($str);$signature md5($signature);//转换成大写$signature strtoupper($signature);return $signature;}}服务器端接受前台数据进行验证源代码/*** Created by PhpStorm.* User: Administrator* Date: 2017/3/16 0016* Time: 16:01*/namespace Server\Controller;use Think\Controller;class ServerController extends Controller{const TOKEN API;//响应前台的请求public function respond(){//验证身份$timeStamp $_GET[t];$randomStr $_GET[r];$signature $_GET[s];$str $this - arithmetic($timeStamp,$randomStr);if($str ! $signature){echo -1;exit;}//模拟数据$arr[name] api;$arr[age] 15;$arr[address] zz;$arr[ip] 192.168.0.1;echo json_encode($arr);}/*** param $timeStamp 时间戳* param $randomStr 随机字符串* return string 返回签名*/public function arithmetic($timeStamp,$randomStr){$arr[timeStamp] $timeStamp;$arr[randomStr] $randomStr;$arr[token] self::TOKEN;//按照首字母大小写顺序排序sort($arr,SORT_STRING);//拼接成字符串$str implode($arr);//进行加密$signature sha1($str);$signature md5($signature);//转换成大写$signature strtoupper($signature);return $signature;}}结果string(57) {name:api,age:15,address:zz,ip:192.168.0.1}总结这种方法只是其中的一种方法其实还有很多方法都是可以进行安全验证的。以上这篇PHP开发api接口安全验证的实例讲解就是小编分享给大家的全部内容了希望能给大家一个参考也希望大家多多支持脚本之家。
http://www.pierceye.com/news/611957/

相关文章:

  • 桥梁建设工程网站残疾人网站服务平台
  • 网站开发语言包括哪些潍坊公司注册
  • 平顶山网站制作哪家公司好阿里巴巴网站建设改图片
  • 网站设计培训学校有哪些wordpress主题什么值得买
  • 如皋建设工程局网站静态网站做淘宝客
  • 温州网站建设案例做网站卖衣服物流包年多少钱
  • 响应 网站建设招聘室内设计
  • 网站建设宣传册内容南京个人网站建设
  • 毕业设计可以做哪些网站遵义原创网站
  • 国外服装设计网站app网站建设需要什么
  • 网站建设a云世家宋南南网站建设合集
  • 可以网上做单的网站创建全国文明城市的宗旨是什么
  • 北京诚信建设网站成都蓉城最新消息
  • 上市公司网站建设分析评价网页制作的视频教程
  • 网站营运费网站关键字优化工具
  • 上海企业网站建站中山一站式营销推广平台
  • 想做网站策划怎么做苏州seo关键词排名
  • 中小型企业电子商务网站建设seo优化推广公司
  • 网站开发类型什么意思网页制作与设计千年之恋代码
  • 怎么做公司的网站免费网站建设专业的公司
  • 适合这手机浏览器主页的网站wordpress本地上传服务器
  • 济南百度网站开发寮步镇做网站
  • 营销类型的公司网站专注高密做网站哪家好
  • 公司网站建设找谁做网络渠道
  • 网站建设公司 校园网站html5商城网站
  • 自学it做网站厦门网站推广¥做下拉去118cr
  • 汕头市做网站优化国内时事新闻
  • 网站文章来源seowordpress 搜索 分词
  • 网站建设和网络推广微信开发品牌
  • 湛江网站关键词优化百度推广优化技巧