作者sing10407 (阿U)
看板AndroidDev
标题[问题] 给Mobile开发者用的 api 设计?
时间Sun Jan 31 21:23:45 2016
大家好
目前我们的专案会需要提供api给android开发者,想问一下一些安全的设计:
目前专案会提供 JSON 或 XML 格式给开发者,
但我一直有一个想不通的问题,
就是这样 Hacker 如果知道这个api用法,那不就能无限次的try吗?
简单说,在web开发时,在进去一些页面时,可以使用session来避免掉无权限登入的问题
但在android call web api的设计下,大家是如何做安全性设计的呢?
目前想到的是: user登入後,由server给一组token,
每次存取某权限才能存取的api时,都要先确认token正确性
但是想到还要管理token,就越想越复杂
不知道大家是怎麽实做的呢?
PS. 後端开发是使用 ASP.NET MVC, SERVER是使用Azure
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 61.231.201.250
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/AndroidDev/M.1454246629.A.164.html
※ 编辑: sing10407 (61.231.201.250), 01/31/2016 21:24:51
1F:推 MIM23: Android也能实作session阿 01/31 22:33
2F:→ MIM23: 没询问过你们家的mobile工程师吗... 01/31 22:35
原来如此,那我再看一下 感谢
※ 编辑: sing10407 (61.231.201.250), 01/31/2016 22:38:36
3F:→ ssccg: web的session在通常就只是http cookie中存一个session id 02/01 01:47
4F:→ ssccg: 不管在哪个平台用http都可以用session啊 02/01 01:48
5F:→ nOhiTmE: oauth? 02/01 02:12
6F:推 kewang: 你已经说出答案了,另外注意服务变大的话可以用cache管理 02/01 05:19
7F:→ y3k: 你也可以参考Amazon的那种hash check方式 02/01 09:55
8F:→ y3k: 虽然前阵子我被他搞过大概一天 但是不失为一种不错的机制 02/01 09:56
9F:→ manaup: 通道加密 secretkey accesslimit 都要做啊 02/01 23:28
10F:→ manaup: 只要是放在公开网路上的东西就要做保护 这不是基本的吗 02/01 23:29
11F:→ riverless: 一般作法是带token token算法只有你们知道 02/02 15:46
12F:推 kiwatami: 至少存取频率要限制在一定的量 例如一分钟内 02/02 21:51
13F:→ kiwatami: 同一个使用者只能要求几次 02/02 21:51
14F:→ kiwatami: 在几秒钟内重复要求超过次数要delay x*2的n次方毫秒 02/02 21:51
15F:→ kiwatami: 不然真的会一下就爆预算 02/02 21:51
16F:推 iamsewei: 想问一下 所谓的session 是不是一串字串啊... 02/05 16:43
17F:推 kiwatami: 字串应该是指session id吧 用来判断是哪个session的 02/06 10:27
18F:→ kiwatami: 要求 02/06 10:27
19F:→ kiwatami: 你可以把session当成一个连线者 不论他有没有登入 02/06 10:27
20F:→ kiwatami: server端都会建立一个对应的session存在记忆体内 02/06 10:27
21F:→ kiwatami: 而登入後再存入一个标记表示已登入 02/06 10:27
22F:→ kiwatami: 这时依据这个id使用者要求需要登入的连线时 02/06 10:27
23F:→ kiwatami: 就不用再次登入 因为server端知道这个连线来源已登入 02/06 10:27
24F:→ kiwatami: 除了登入之外还可以纪录其他资讯 02/06 10:27