首页 > Windows开发 > 详细

django使用rest_framework API认证

时间:2016-02-29 14:45:40      阅读:248      评论:0      收藏:0      [点我收藏+]
  1. 调用API的时候需要认证,直接在暴露在url中肯定不行,先试试MD5加密:


  2. import md5
    
    passwd  = md5.md5(‘fangniu508‘)
    
    print passwd.hexdigest()


    输出:4a1ebe10d59f1b149ed6338d9f586679


     

  使用url的时候http://127.0.0.1?username=root&passwd=4a1ebe10d59f1b149ed6338d9f586679

  貌似可以?但依然是密码md5值暴露,只要密码不变,MD5值也不会变,别人一复制url就完了,所以不可行。。。


3.加入时间戳

 

import md5
import time

passwd  = md5.md5(‘fangniu508‘)
time_str = time.time()
token_str = ‘%s\%s‘ %(passwd,time_str)

print md5.md5(token_str).hexdigest()
print time_str

输出:

8caff0592ed7cc5582e3d83cc103f0bc

1456710878.23

而且,每次运行结果都不一样,因为时间戳一直都在变化,别人复制url就基本上不行;

此外,再加入一个过期时间,基本上就无法暴力破解了

如在服务器端加120秒过期, expire_time = 120,

甚至加入重试次数 retry_count=1,

最后可以保证url不可篡改

不过现在使用hashmac加密API的更多,亚马逊也是,以后再研究研究吧

本文出自 “随便写写” 博客,请务必保留此出处http://fangniu.blog.51cto.com/8773628/1745897

django使用rest_framework API认证

原文:http://fangniu.blog.51cto.com/8773628/1745897

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!