php token验证教程

 时间:2024-10-13 19:07:26

在web开发中,我们可能经常会听到一个词"token",那么token是什么东西呢,在计算机身份认证中,token是代表令牌的意思,一般作为邀请授权,登录系统使用,一般来说我们常用的token有三种,一种是作为用户登录身份认证的身份令牌(user token),一种是针对接口使用的接口令牌(api token), 还有一种是防止表单重复提交及crsf攻击的表单令牌(crsf token) ,下面我们讲解一下。

身份令牌(user_token)

1、作用身份令牌的作用是保护用户的用户名及密码多次提交,以防密码泄露。

2、生成原理1、用户提交“用户名”和“密码”,实现登录(条件允许,这一步最好走https);2、登录成功后,服务端随机生成一串带过期时限的token字符串,比如我们简称为user_token

php token验证教程

3、验证原理用户在登录以后,客户端使用登录后返回的 user_token每次请求服务端时,服务端的验证步骤为1、查询数据库看user_token是否存在,2、不存在返回错误3、存在的话更新user_token的过期时间下图是使用mysql建立的一个示例表

php token验证教程
php token验证教程

接口令牌(api_token)

1、作用接口令牌的作用是保持接口访问的隐蔽性和有效性,保证接口只能给自家人用。

2、生成原理现在的接口基本是mvc模式,URL基本是restful风坼黉赞楞格,URL大体格式如下http(s)://www.xxx.com/路由名称?参数=值1&参数2=值2&_t租涫疼迟=时间戳一般的生成原理是1.系统中自定义一串随机字符串为加密秘钥,比如:12345abcd2.参数按字典排序:比如PHP是使用ksort()之类的函数按数组键大小排序3.根据自己的加密规则生成接口令牌,比如:小编这里随便编一个api_token = md5(md5('路由名称'+'参数值1'+'参数值2'+'时间戳')+加密秘钥);\以下是一个简单的PHP示例

php token验证教程

3、验证原理:1.客户端提交请求的时候带上参数(api_token)2.在服务端,根据路由名称,参数,时间戳,用同样的方法生成接口令牌,3.对比api_token和生成的token是否一致

表单令牌(crsf_token)

1、作用表单令牌一般用于防止表单重复提交、anti csrf攻击(跨站点请求伪造)

2、验证原理1.当客户端GET请求页面时,服务器会生成一个随机数Token,并且将Token放置到session当中2.将Token发使用 POST,PUT/PATCH,DELETE 给客户端(一般通过构造hidden表单)3.下次客户端提交请求时,Token会随着表单一起提交到服务器端。4.判断提交上来的token是否和session中的Token值相等,若相等,则可以证明请求有效,不是伪造的。5.更新或删除session中的token

php token验证教程
php token验证教程
  • 怎么使用dSploit工具箱
  • 怎样用电脑模拟器(逍遥安卓)同时登录多个微信
  • 怎样申请虚拟手机号(阿里小号)
  • 虚拟号码怎么申请
  • 怎么推广微信群
  • 热门搜索
    青少年心理健康手抄报 清明节的手抄报三年级 我爱祖国手抄报内容 请讲普通话手抄报 数学手抄报图片四年级 小学生文明手抄报 手抄报边框图片大全 未来的2035年手抄报 法制手抄报图片大全 三年级环保手抄报