关于WebAPI安全认证的问题

时间:2023-03-10 04:35:37
关于WebAPI安全认证的问题

之前项目遇到了一个对外提供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

4. 3可能造成问题是,如果被人恶意利用ticket,还是会被多次请求,所以如果经身份信息有效时间信息(来自于后台)一起加密发送到后台更好.