前言
如果在访问某WebAPI过程中request信息被他人截获,若是get请求获取数据还好,如果是post提交数据,势必威胁数据安全,所以对于一个对安全性要求较高的API来说,对每个请求做身份验证显得尤为重要;
防范策略解析
策略1
客户端发送http请求访问API时,在请求头里设置一个双方约定好的key;
知识点:
1、如果给Django程序发送请求头,headers携带内容包含下滑杠 _,Django会不认识;
2、客户端 auth-api ----->服务端 转换成 'HTTP_AUTH_API'格式
3、服务端获取clent_key=request.META.get('HTTP_AUTH_API')
客户端
import requests key='sssdkjrjefjewfakfhkj' respose=requests.get(url='http://127.0.0.1:8000/test.html/',headers={'auth-api':key}).text #如果给Django程序发送请求头,如果headers里面的内容使用下滑杠 _,Django会不认识; #auth-api -----> 转换成 'HTTP_AUTH_API'格式 #服务端获取clent_key=request.META.get('HTTP_AUTH_API') print(respose)