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

学动漫设计好就业吗seo去哪里学

学动漫设计好就业吗,seo去哪里学,临漳企业做网站推广,一个人在家做网站建设就安全来说,所有客户端和服务器端的通信内容应该都要通过加密通道(HTTPS)传输,明文的HTTP通道将会是man-in-the- middle及其各种变种攻击的温床。所谓man-in-the-middle攻击简单讲就是指恶意的黑客可以在客户端和服务器端的明文通信通道上做手 脚&#x…

就安全来说,所有客户端和服务器端的通信内容应该都要通过加密通道(HTTPS)传输,明文的HTTP通道将会是man-in-the- middle及其各种变种攻击的温床。所谓man-in-the-middle攻击简单讲就是指恶意的黑客可以在客户端和服务器端的明文通信通道上做手 脚,黑客可以监听通信内容,偷取机密信息,甚至可以篡改通信内容,而通过加密后的通信内容理论上是无法被破译的。

URL签名生成规则

API的有效访问URL包括以下三个部分: 


1. 资源访问路径,如/v1/deal/find_deals; 
2. 请求参数:即API对应所需的参数名和参数值param=value,多个请求参数间用&连接如deal_id=1-85462&appid=00000; 
3. 签名串,由签名算法生成

签名算法如下:

1. 对所有请求参数进行字典升序排列;

2. 将以上排序后的参数表进行字符串连接,如key1value1key2value2key3value3...keyNvalueN;

3. app secret作为后缀,对该字符串进行SHA-1计算,并转换成16进制编码;

4. 转换为全大写形式后即获得签名串

注意:请保证HTTP请求数据编码务必为UTF-8格式,URL也务必为UTF-8编码格式,当然了,这里的算法也是可以自己定制的,比如说这里的SHA-1 可以改为md5,等等

举个实例:

PHP服务端先要给开发者(APP)分配一个appid与appsecret (正常情况下,开发者要到服务提供商的官网申请),作为客户端,需要保留好官方颁发的appid & appsecret

appid会在请求中作为一个应用标识参与接口请求的参数传递,appsecret 将作为唯一不需要参数传递,但是它将作为验证当前请求的关键参数,只有应用开发者和颁发的服务端才知道。由于签名是依靠同样的算法加密实现,因此,应用端和服务端可以计算出相同的签名值,签名实际意义在于服务端对客户端的访问身份认证。在某种意义上签名机制有点类似用公钥方法签名,用每个应用对应的私钥值来解密,只是这种解密过程实质就是核对签名参数值的过程。

假设分配:

$appid=5288971;
$appsecret= 'r5e2t85tyu142u665698fzu';

移动客户端,需要请求服务端的参数有如下

请求地址: http://web.com/server/list

下面是需要请求的参数

$array=array('appid'=>5288971, 'menu'=>'lifestyle', 'timestamp'=>time());

按照上面的算法,我们把它翻译成php代码

function makesign($array,$secret){foreach ($array as $key=>$value){$arr[$key] = $key; }sort($arr); //字典排序的作用就是防止因为参数顺序不一致而导致下面拼接加密不同// 2. 将Key和Value拼接$str = "";foreach ($arr as $k => $v) {$str = $str.$arr[$k].$array[$v];}//3. 通过sha1加密并转化为大写//4. 大写获得签名$restr=$str.$secret;$sign = strtoupper(sha1($restr));return $sign;
}

可以看到这个方法,需要传入必要的参数和appsecret ,从而生成sign

然后再发送的时候 除了上面的参数,还有sign ,通过约定好的method方式发送参数到请求接口

服务端验证请求的合法性:

服务端查询appid对应的密钥

$model=Model::find()->where("appid=:appid")->params([":appid"=>$serverArray['appid']])->one();if($model){$serverSecret=$model->appsecret;
}

查到密钥后,服务器还是使用约定的算法生成sign 并与收到的sign进行比较,相同则通过验证

$rq['appid'] = $_REQUEST['appid'];
$rq['menu'] = $_REQUEST['menu'];
$rq['timestamp'] = $_REQUEST['timestamp'];
$request_sign = $_REQUEST['sign'];
$make_sign = makesign($rq,$serverSecret);
if($request_sign == $make_sign ){echo 'check success';
}else{echo 'check fail';	
}

在仅适用短信登录做手机端app时,可以设置secret的过期时间,短信登录后,保存appid(userid)与密钥secret,每当用户打开APP时,先联网请求登录是否过期,过期重新短信登录获取新的secret。

附加一个 网友的验证方法

/** 生成签名,$args为请求参数,$key为私钥*/
function makeSignature($args, $key)
{if(isset($args['sign'])) {$oldSign = $args['sign'];unset($args['sign']);} else {$oldSign = '';}ksort($args);$requestString = '';foreach($args as $k => $v) {$requestString .= $k . '=' . urlencode($v);}$newSign = hash_hmac("md5",strtolower($requestString) , $key);return $newSign;
}

http://www.dtcms.com/wzjs/167339.html

相关文章:

  • 在虚拟主机上建设多个网站网站推广的途径有哪些
  • 有关建设的新闻网站百度图片识别搜索
  • 上海医疗器械网站前置审批商丘seo优化
  • 高级的网站建设高端网站建设制作
  • 专业网站建设教程浏览器大全网站
  • 个人网站模块手机百度搜索app
  • 网站的建设与维护3步打造seo推广方案
  • 日照seo优化公司网站关键词排名优化推广软件
  • 企业网站建设空间咖啡seo是什么意思
  • 西安行业网站制作现在推广什么app最挣钱
  • 成都网站制作怎么收费品牌宣传有哪些途径
  • 西安有哪些做网站建设的公司百度一下官方下载安装
  • 北京制作公司网站外贸怎么建立自己的网站
  • 网页设计课程报告四年级下册数学优化设计答案
  • 黄浦网站设计网站引流推广软件
  • 网站招牌模板google seo是什么
  • 罗湖做网站公司排名seo外包公司兴田德润官方地址
  • 大连网站制作流程外贸接单平台哪个最好
  • 怎么创一个网站东莞寮步最新通知
  • 做网站推广哪家公司好网站排名查询工具
  • 网站建设流程图visio百度帐号管家
  • 商户网站建设公司google推广教程
  • 汕头市门户网站建设电商网站建设公司哪家好
  • 做的网站上更改内容改怎么办怎样在网上推广自己的产品
  • wordpress主题应该怎么添加谷歌搜索引擎优化
  • 网站设计论文题目网上营销网站
  • 建设购物网站流程今天国际新闻大事
  • 福田做网站公司怎么选择北京seo网站优化培训
  • 网站整体架构长沙官网seo技巧
  • 哪个网站可以改字体软文代发价格