token - PHP API接口怎么控制权限?

查看:217
本文介绍了token - PHP API接口怎么控制权限?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

举个例子:

a.com    //我的网站
b.com    //其他网站
a.com/api/getUserName    //我的网站的API,返回user表的所有username

在没有对接口进行权限控制之前,b.com在其站内请求a.com/api/getUserName也能获得数据。
现在我不想让b.com可以请求这个接口拿到数据,度了一下。了解了两个方法:
1.验证referer,据说这个可以被伪造,所以没用;
2.token,说是请求的时候加几个参数:a.com/api/getUserName?a=1&b=2&token=xxxxxxxxxxxxx,
然后服务器将a和b再加上一个密钥进行加密得到一个字符串与客户端传过来的token进行对比即可。
但是其他人可以在访问a.com的时候拿到这样的请求链接,直接复制a.com/api/getUserName?a=1&b=2&token=xxxxxxxxxxxxx,放在b.com的代码里面向a.com的这个api发请求拿到数据?
还是我对这个方式理解有误? 求大牛指点。

解决方案

我们是这样做的, 给a和b不同的key, 你传参数的时候需要, 告诉我是a,还是b(parter=1, parter=b),然后校验签名, 不同的parter, 签名是不同的, 然后根据这个来判断用户是a,还是b, 然后到数据库里面判断是否有权限进行当前操作

这篇关于token - PHP API接口怎么控制权限?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆