RT,譬如如何防止重放攻击神马的,我觉得仅仅加个access_token没什么用吧,请众神赐教,最好能举个例子,譬如微博或者twitter怎么做的,谢谢。
————————————————————————————————————————————————————————————————
补充一下,其实我就是想问问rest api怎么防重放的。。。。
RT,譬如如何防止重放攻击神马的,我觉得仅仅加个access_token没什么用吧,请众神赐教,最好能举个例子,譬如微博或者twitter怎么做的,谢谢。
————————————————————————————————————————————————————————————————
补充一下,其实我就是想问问rest api怎么防重放的。。。。
1.《RESTful API 设计最佳实践》这本书提出有三种方案:基本的http basic,Hash Message Authentication Code (HMAC),token auth logic,当然你也可以实现更多,比如参考:[Kerberos]: http://zh.wikipedia.org/zh/Kerberos、oauth等等,八仙过海各显神通!
2.找到适合自己的才是好的
推荐极简的Restful框架 Resty 开发效率比ssh高了n倍,其中resty-security是极简的权限设计,非常小巧只有10个左右class文件
关于防止重放攻击,目前主流做法,是客户端发送请求时带请求编号,服务器保存编号,当重放攻击时(只要编号规则没有被破解,一般不会出现)发出的请求请求编号应该是相同的,服务器过滤掉就行,大多数权限框架都不支持该方法,主要是需要客户端做一些处理比较麻烦
现在主流的都是用oauth2协议吧,oauth2具体可以参考:帮你深入理解OAuth2.0协议
这个帖子 是给rails开发的restful API加上oauth的例子,楼主可以参考。
现在主流的语言一般都有oauth2的库,应该都不难加上oauth2。
2 回答11.1k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
1 回答1.3k 阅读✓ 已解决
1 回答1.2k 阅读✓ 已解决
1 回答413 阅读
RESTFul API在安全性方面跟其它的web app没有什么区别
RESTFul只是一种架构风格,不会产生安全上的差异
UPDATE:
你这个问题就不该把REST扯进来,重放攻击才不管是不是REST
而且你问了好大一个问题,我觉得重放攻击的实施跟具体的业务逻辑关联紧密,在没有设置具体场景的情况下,只能泛泛而谈
http://baike.baidu.com/view/1569933.htm
百度百科就有一些防御思路,你将就琢磨一下吧