提供Restful API的时候如何确保接口的安全性?

发布于 2022-08-28 13:03:50 字数 195 浏览 15 评论 0

RT,譬如如何防止重放攻击神马的,我觉得仅仅加个access_token没什么用吧,请众神赐教,最好能举个例子,譬如微博或者twitter怎么做的,谢谢。

————————————————————————————————————————————————————————————————
补充一下,其实我就是想问问rest api怎么防重放的。。。。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

浅听莫相离 2022-09-04 13:03:50

RESTFul API在安全性方面跟其它的web app没有什么区别
RESTFul只是一种架构风格,不会产生安全上的差异

UPDATE:
你这个问题就不该把REST扯进来,重放攻击才不管是不是REST

而且你问了好大一个问题,我觉得重放攻击的实施跟具体的业务逻辑关联紧密,在没有设置具体场景的情况下,只能泛泛而谈

http://baike.baidu.com/view/1569933.htm
百度百科就有一些防御思路,你将就琢磨一下吧

幽蝶幻影 2022-09-04 13:03:50

1.《RESTful API 设计最佳实践》这本书提出有三种方案:基本的http basic,Hash Message Authentication Code (HMAC),token auth logic,当然你也可以实现更多,比如参考:[Kerberos]: http://zh.wikipedia.org/zh/Kerberos、oauth等等,八仙过海各显神通!

2.找到适合自己的才是好的

凉薄对峙 2022-09-04 13:03:50

推荐极简的Restful框架 Resty 开发效率比ssh高了n倍,其中resty-security是极简的权限设计,非常小巧只有10个左右class文件

关于防止重放攻击,目前主流做法,是客户端发送请求时带请求编号,服务器保存编号,当重放攻击时(只要编号规则没有被破解,一般不会出现)发出的请求请求编号应该是相同的,服务器过滤掉就行,大多数权限框架都不支持该方法,主要是需要客户端做一些处理比较麻烦

划一舟意中人 2022-09-04 13:03:50

1、Https加密
2、接口加密,参数结合时间戳加密(服务器端对比时间戳,时间戳在误差范围外过滤掉)

私藏温柔 2022-09-04 13:03:50

现在主流的都是用oauth2协议吧,oauth2具体可以参考:帮你深入理解OAuth2.0协议

这个帖子 是给rails开发的restful API加上oauth的例子,楼主可以参考。

现在主流的语言一般都有oauth2的库,应该都不难加上oauth2。

木槿暧夏七纪年 2022-09-04 13:03:50

可以从服务器日志入手,统计一定时间段内访问超过次的用户,禁止该ip继续访问

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文