标签:
之前项目遇到了一个对外提供API的问题,有些粗浅的想法,抽空记录下。
以下所讨论的都是要解决:谁有资格调用这个API的问题(谁有权限进行这个操作的问题)
为了简化思路,就拿一个查看Java班级的学生举例。
XXX/Java/StuClass?name=java
1. 最简单的就是不加密,如上请求,这样会造成只要知道这个API的用户,都可以发送请求,如果被人利用,循环请求,浪费大量资源。
2. 在请求后面在加上特定一组注释符,注释符符合要求才继续执行。这样造成的问题同1
XXX/Java/StuClass?name=java&ticket=abedf
3. 将API用户的唯一身份认证信息进行加密(非对称和对称)均可。将这个附件信息一起发送到后台,后台接收后解密,判定用户身份是否合法。
XXX/Java/StuClass?name=java&ticket=15ff57fger
标签:
原文地址:http://www.cnblogs.com/LiuChunfu/p/5353301.html