[问题] 给Mobile开发者用的 api 设计?

楼主: sing10407 (阿U)   2016-01-31 21:23:45
大家好
目前我们的专案会需要提供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
作者: MIM23 (HAWK)   2016-01-31 22:33:00
Android也能实作session阿没询问过你们家的mobile工程师吗...
作者: ssccg (23)   2016-02-01 01:47:00
web的session在通常就只是http cookie中存一个session id不管在哪个平台用http都可以用session啊
作者: nOhiTmE   2016-02-01 02:12:00
oauth?
作者: kewang (652公共汽车)   2016-02-01 05:19:00
你已经说出答案了,另外注意服务变大的话可以用cache管理
作者: y3k (激流を制するは静水)   2016-02-01 09:55:00
你也可以参考Amazon的那种hash check方式虽然前阵子我被他搞过大概一天 但是不失为一种不错的机制
作者: manaup   2016-02-01 23:28:00
通道加密 secretkey accesslimit 都要做啊只要是放在公开网络上的东西就要做保护 这不是基本的吗
作者: riverless (请打台文 禁汉字)   2016-02-02 15:46:00
一般作法是带token token算法只有你们知道
作者: kiwatami (悠游自在)   2016-02-02 21:51:00
至少存取频率要限制在一定的量 例如一分钟内同一个使用者只能要求几次在几秒钟内重复要求超过次数要delay x*2的n次方毫秒不然真的会一下就爆预算
作者: iamsewei (少年阿兵)   2016-02-05 16:43:00
想问一下 所谓的session 是不是一串字串啊...
作者: kiwatami (悠游自在)   2016-02-06 10:27:00
字串应该是指session id吧 用来判断是哪个session的要求你可以把session当成一个连线者 不论他有没有登入server端都会建立一个对应的session存在内存内而登入后再存入一个标记表示已登入这时依据这个id使用者要求需要登入的连线时就不用再次登入 因为server端知道这个连线来源已登入除了登入之外还可以纪录其他资讯

Links booklink

Contact Us: admin [ a t ] ucptt.com