PHP如何token验证,手把手教学

情景再现:我们做api接口的时候需要做token验证,防止其他恶意访问导致接口或者数据库错误,步骤,代码及思维逻辑如下仅供参考:

1.我们后端需要在用户登录的时候将已生成好的token随着用户info传给前端,前端才能拿到token,然后叫前端获取到的token放在header请求头里面,由于前端接口的请求标头几乎都是一致的,所以每个network里面的接口都含有前端传给后端的token,咱们后端就可以在请求头里面拿到这个token。

 

每个接口的header头都含有这个token 

 2.现在我们已经看见前端放在header头里token了,我们来到自己的工程代码,就可以拿到token,我们来到所有接口都必须要访问的base文件,比如:上面图片上的user_login.html这个接口

(user文件下的login方法,不要问为什么这样写接口,公司的大哥教的,笑XDDD),我们来到这个文件下找到他的基础文件,我这边是一个叫做base的文件

 3.来到这个文件找到你的入口方法(应该是入口方法。。。)我这边是一个叫做init的方法

在你的入口方法里面var_dump就能打出你想获取的token啦,只不过得申明,参考代码:

$server = isset($_SERVER) ? $_SERVER: "";
var_dump($server['HTTP_TOKEN']);

 最好是将$server打印出来,看看token到底叫什么名字,我最开始就一直dump('token'),半天出不来,一直为null,经过检查才发现是HTTP_TOKEN,笑死XDDDDDDDDDD

4.正常来说应该是可以获取到这个token了,但是有一种情况就是没有在入口文件index.php添加一段声明代码,贴出供参考:

header('Access-Control-Allow-Headers:Token');

需要引入这个声明才能获取到header请求头里面的值,不然会报,无法加载响应数据

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
在Node.js中,通常使用token来对用户进行身份验证和授权。引用是一个示例代码,它演示了如何创建一个用于生成和验证token的类。该类名为Jwt,它引入了一些必要的模块,如fs、path和jsonwebtoken。该类具有两个方法:generateToken用于生成token,verifyToken用于验证token。生成token时,需要传入数据和有效期,同时使用私钥对数据进行签名;验证token时,需要传入token并使用公钥进行验证。如果验证通过,则返回token中的数据,否则返回错误信息。 在示例代码中,展示了如何在用户登录成功后生成对应的token并返回给客户端。这段代码引入了JwtUtil工具类和AesUtil工具类。在登录接口中,首先查询用户名对应的用户信息,然后使用AesUtil进行密码解密,将解密后的密码与用户输入的密码进行比较。如果匹配成功,则生成对应的token,并将其返回给客户端。 为了保护需要验证身份信息的请求接口,示例代码中引入了中间件函数。该函数对所有需要验证身份的请求进行拦截,并校验token的合法性。如果token校验通过,则继续执行下一个中间件或路由处理程序;否则,返回登录信息不正确的错误提示。 综上所述,可以使用示例代码中的Jwt类来生成和验证token,然后在登录接口中生成对应的token并返回给客户端,同时使用中间件函数来拦截需要验证身份信息的请求并校验token的合法性。这样可以实现Node.js中的token验证机制。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_(:* 」∠)_alray

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值