1
manhere 2012-05-22 21:06:12 +08:00
明文也不一定不安全
|
2
iEggache 2012-05-22 21:14:47 +08:00
这坏处不明显吧?你这个文件谁拿得到?
|
3
fly2never 2012-05-22 21:24:16 +08:00
iPhone如果不越狱的话,就还挺安全的.
XAuth协议就是明文的 |
4
qdvictory 2012-05-22 21:24:49 +08:00
哥们,打码不要光打账号啊,accesstoken也得打上的
|
5
virushuo 2012-05-22 21:31:34 +08:00 1
这个做法肯定是错的。虽然不越狱理论上这文件别人拿不到,但是如果iOS有了bug,就有可能被拿到。(越狱本身就是利用了这类bug)。
实际上所有oauth客户端都不应该直接保存密码,而应该保存经过服务器oauth回来的access_token用于登录凭证。 一个做的流程正确的oauth客户端,应该弹出网页到原始网站比如twitter,让用户在twitter输入密码,不然oauth还有什么意义?这样和basic auth完全没区别了。 我估计很多人是压根没弄明白oAuth到底是怎么回事吧… 另外 @fly2never ,xAuth虽然让用户在客户端输入密码,但客户端不应该存储这个密码,而应该通过https把密码发给auth server获取登陆凭证,所以xAuth的明文和把明文存下来是不一样的。 |
6
Air_Mu 2012-05-22 21:33:56 +08:00
上次不是说新浪本身就是明文的么。
|
7
fanzeyi 2012-05-22 21:35:39 +08:00
@virushuo 一个主要的问题是.. 现在微博的 OAuth 2.0 .. 有了 oauth_token 的过期时间.. 然后还不给 refresh token ...
|
8
chainkhoo OP @iEggache 我的手机没有越狱 通过itools和一些简单的iphone管理软件都可以接触到程序的library文件夹 这个东西非常容易弄到
@qdvictory 没事 token是不完整的 后面还有一长串呢 @fly2never 别人不接触我的手机确实拿不到这个文件(我没有越狱) 但是问题是程序的开发者呢?他为什么要明文存储我的密码呢?谁能保证他没有别的想法呢?我不介意以此揣测某些国内开发者 @virushuo 我也同意这个oauth流程 经常看到一些软件在登录界面上写着我们将不会储存你的密码 但是为什么要相信你呢 为什么不能直接弹出原始页面呢 这种软件每次在我输入密码的时候都给我一种极大的不安全感 |
11
qdvictory 2012-05-22 21:53:22 +08:00 1
好吧。。。我来解释一下为什么有明文,因为之前用的是base64认证,后来改用xauth,base64是必须要账号的,后来为了过度,也没有在此取消。
同时这个不是服务器,你自己的手机都不能保证安全,我更无法保证。目前版本通信过程中不会使用明文账号密码,只会使用access token。 而目前新浪oauth认证正在更新,就目前得到的信息,也不可能取消保存账号与密码的设定,这样会使将来版本升级带来不便。 最后再说一句,明文确实不科学,但是不要太计较,这个文件别人拿不到,就算拿到了,那么说明你手机上有更多的机密已经被人取到了,这个账号密码已经微不足道了。 |
12
9hills 2012-05-22 21:59:37 +08:00
国内各家的OAuth做的乱七八糟,不照标准来。这么弄也是无奈之举吧
|
13
hidden 2012-05-22 22:00:26 +08:00
还好我刚仍上去的应用对密码稍微加密了一下, 不然要被暴了。
|
14
garthcn 2012-05-22 22:03:00 +08:00
没做过iOS开发,提问一下:任何第三方app如果想实现push notification,是不是只能在自己的第三方server长期监控用户的新消息、评论,然后发给APNS?如果这样的话,必须明文存密码才行?记得Sparrow for iOS就是因为这个原因才没用支持邮件的push
|
16
iEggache 2012-05-22 22:05:41 +08:00
但是这个不像web端那样容易被人拿到啊,你手机不给别人,别人也拿不走....指不定还有其他app也是这样的,再说微博这东西基本也涉及不到多大的利益关系....
|
17
fastbinary 2012-05-22 22:08:09 +08:00
|
19
eerie 2012-05-22 22:11:18 +08:00
新浪微薄的oauth验证做的超差
oauth2的access token过一段时间会过期,但是又不给你refresh token,结果只能要求用户过一段时间就授权一次 oauth的access token不过期,但是现在不给申请,新浪微薄自家的xweibo插件要求申请的也一直是oauth而不是oauth2的token 这个密码明文存储可能也是无奈之举,不然你要过几天就再输入一次密码 把密码本地加密一下再存储可能能抵抗一点点,但是因为加密密钥也肯定在本地保存着,跟糊了一层纸一样没什么大的区别 |
20
jerry 2012-05-22 22:36:25 +08:00
为什么不存进Keychain呢
|
21
chainkhoo OP |
29
qdvictory 2012-05-22 23:11:42 +08:00
@chainkhoo 开发者怎么想的我已经回答你了。。。确实可能你看到明文会比较紧张,不过在这里是不是明文已经无所谓了。。。不需要太在意。。就算是改成加密的,只要能逆回来账号的,都是不安全的。。
要是想盗用你的密码直接在你登录的时候就可以盗用,何必保存下来。。。 |
30
ospider 2012-05-22 23:19:41 +08:00
对于新浪的傻逼API似乎也只有这么做了,不过好歹跟用户说一下呀~
|
31
garthcn 2012-05-22 23:55:31 +08:00
@chainkhoo 但是要支持push(比方说微博),第三方至少也要直到什么时候向Apple提交push的请求。第三方要知道什么时候有更新,微博官方API估计不会主动来告诉你;只有自己开个连接守着用户的账号?如果在token过期后不能自动拿新的,就必须保存用户密码才行?
Sparrow的说法是他们不擅长做security,不敢担负起帮用户在他们服务器监控gmail的风险。 |
33
blacktulip 2012-05-23 00:06:43 +08:00
楼主挺悖论的,新浪微博本身就是国产烂货,要远离国产,直接戒微博啊。上哪儿找非国货的微博客户端去?
|
35
kamwing 2012-05-23 00:13:38 +08:00
@blacktulip +1
|
36
chainkhoo OP @blacktulip Nokia上的Gravity就不错啊~我主要是对这种没节操的行为表示质疑
|
38
zenomac 2012-05-23 14:28:32 +08:00
以前越狱看过一次readitlater (Pocket)的底层,也是明文记录密码...硬往国产上扯不太好吧.
|