当我们在写接口的时候,一定会碰到接口安全相关。一般会有两种情况。不需要用户参与,比如客户端读取新闻列表、用户列表。

需要用户参与,比如修改用户的信息,评论新闻的内容等。

针对1的设计,可以在公共参数上下功夫,比如一般框架的请求都会有“controller”"action",

然后客户端和服务端再定义一个加密字符串,比如"!@#$%",然后进行字符串排序拼接,然后hash。(比如md5),客户端在发送请求的时候带上加密后的字符串。$token = md5($controller_name.$action_name."!@#$%"),

服务端收到请求后,获取当前的controller_name,和action_name和传过来的token,然后依照客户端加密方式,重新md5,然后进行对比.$controller_name = "user";

$action_name = "view";

$secure = "!@#$%";

$token = md5($controller_name.$action_name.$secure);

if($token != $_GET['token']){

exit("鉴权失败");

}

#做一些事情

针对2的设计,最好是在用户登录之后,登录时,可以获取到的信息有。用户名

明文密码

客户端将用户名和密码进行传输,并保存用户名到本地.

服务端获取参数后,生成token,例:$user_name = "jack";

$user = $this->getUserInfo($user_name); //应该会返回一个用户信息。

$md5_password = $user['md5_password'];//这里可能只是简单md5一下密码,也可能加盐($salt);

$secure_str = '!@#$%'; //固定,客户端和服务端约定的一个密码串

$token = md5($md5_password . $secure_str);

然后将token返回给客户端.

以后客户端传输数据时,只需要带上token和用户名即可.可以放在http的head头里。

每次传输给服务端,服务端都会去进行验证$user_name = $this->getParams['username']; //获取客户端提交的用户名

$token = $this->getParams['token'] ; //获取客户端提交的token

$user = $this->getUserInfo($user_name); //应该会返回一个用户信息。

$md5_password = $user['md5_password'];//这里可能只是简单md5一下密码,也可能加盐($salt);

$secure_str = '!@#$%'; //固定,客户端和服务端约定的一个密码串

if(md5($md5_password . $secure_str) != $token)

{

//则不匹配

}

其他的安全方式,比如网站使用HTTPS,防止中间人获取。定时刷新token,防止一个token可以永久使用。

php用户鉴权,app开发之鉴权 PHP版相关推荐

  1. ​儿童手表APP开发让用户更好地体验到智能设备的便捷性​

    ​儿童手表APP开发让用户更好地体验到智能设备的便捷性​. 智能手表已经不是用来看时间这么简单了,还可以结合多种功能让用户更好地体验到智能设备的便捷性.这其中还有专门针对儿童的儿童手表,儿童手表app ...

  2. sdn智能互联系统及开发平台_聊天交友平台系统APP开发

    点击上面"蓝字"关注我们! 聊天交友系统开发APP软件平台找[卢经理:186微1316电8035同号], 聊天交友短视频APP开发,聊天交友短视频软件APP开发系统,聊天交友开发A ...

  3. 老年人智能手机APP开发界面设计具体策略

    智能手机老年人用户同于年轻人用户,他们的感知力.运用能力以及认知能力都普遍弱于年轻人,随着年龄的不断增长,在应用软件操作上需要花费更多的时间精力.因此,APP开发企业要加强设计上的优化,为老年人的AP ...

  4. 小说APP开发有没有前景

    为什么要开发小说APP? 一.小说APP开发针对哪些用户? 小说APP开发主要针对的用户主要包括当前的学生用户群体,以及上班族群体,他们在日常生活中会因为学习和工作方面的压力而导致碎片化的时间增加.于 ...

  5. 物联网APP开发的好处有哪些

    随着互联网的发展,物理世界本身已成为一种庞大的信息系统.在所有这一切中,物联网变得势在必行,因为这是导致革命性APP具有改变人们生活潜力的唯一飞跃.物联网的存在展示了Internet的下一个重大发展, ...

  6. 鸿蒙智联生态产品《接入智慧生活App开发指导》(官方更新版)

    原文:有更新!鸿蒙智联生态产品<接入智慧生活App开发指导>(官方版),点击链接查看更多技术内容. 在HarmonyOS Connect生态产品应用开发过程中,很多开发者对于如何接入智慧生 ...

  7. 音乐类APP开发强化社交属性,行业前景被看好

    随着移动互联网的发展,我国在线音乐类APP发展迅猛,不断受到资本热捧,如今在线音乐类APP开发功能得到了极大的丰富,除了基本的听歌搜索功能,还有听歌识曲.铃声剪辑.彩铃专区.在线KTV唱歌等功能,满足 ...

  8. ​国际物流APP开发软件帮助物流服务行业事项信息化发展​

    ​国际物流APP开发软件帮助物流服务行业事项信息化发展​. 物流服务在社会中所发挥的作用已经变得越来越大了,所以,国际物流APP开发顺应市场的需求而诞生了,在结合移动互联网平台的优势以后,就能够帮助物 ...

  9. 有关手机app开发价格的一些决定因素

    现在社会上需要app开发的传统企业很多,但是苦于自身没有app开发团队,组建相关团队又费钱又费精力,如何寻找合适的app外包公司,简单了解一下手机app开发价格,就成为很多新的企业用户经常咨询的问题. ...

最新文章

  1. Android UI设计与开发】第03期:引导界面(三)仿微信引导界面以及动画效果
  2. 在灾难发生之时,你在Facebook的社交定位或许能救你一命
  3. 详解css样式处理的优先级
  4. 【Linux环境】SSH突然无法连接【排查2个小时最终解决Failed to start OpenSSH server daemon】及【阿里云服务器的 kdevtmpfsi 挖矿病毒处理】
  5. swiper实现局部内容滚动效果
  6. commonJS — DOM操作(for DOM)
  7. java类的理解_Java类该怎么理解?
  8. PHP源码安装及配置——以fastCGI的方式与httpd整合
  9. Intel 64/x86_64/x86/IA-32处理器串行化指令(1) - 概述
  10. 浅谈Hybrid技术的设计与实现【转】
  11. 最后2天!快去登录你的百度网盘,不然。。。
  12. 大数据、Hadoop、Hbase介绍
  13. 解决yum安装gcc报错:Error: Package: glibc-headers-2.17-317.el7.x86_64
  14. CentOS7 wifi安装配置问题总结
  15. Centos7开小鸡(centos7安装KVM+kimchi+wok开小鸡)第一篇安装kimchi wok
  16. linux账号延期,Linux用户密码过期延期
  17. 匹配输入华为:编程实现联想输入法 输入联想功能是非常实用的一个功能,请编程实现类似功能...
  18. 想学Docker?我教你啊~
  19. 507 Lusir的游戏 二分 数论 [代码源][namomo spring camp]每日一题div2
  20. require.js 介绍

热门文章

  1. 智能车竞赛技术报告 | 双车接力组 - 大连海事大学 - 同舟拾贰队
  2. 测试使用2mH的工字型电感在接收150kHz导航信号中性能
  3. 深度跑车 - DeepRacer
  4. vectorvn1610报价_德国Vector测试软件VN1610A-上海壹侨特价
  5. java 显式锁_Java 实现一个自己的显式锁Lock(有超时功能)
  6. .net 连mysql代码_.net连接常用的数据库代码
  7. jtabel 遍历_Swing中经常会遇到的若干问题——JTable(持续更新) | 学步园
  8. 调用vba_Python VS JavaScript,谁将是替代VBA最好语言
  9. 深度linux12,Linux Deepin 12.06 试用体验
  10. access数据类型百度百科_Access数据库属于什么数据库。