Parse这样的BAAS如何保证AppID和Javascript Key的安全(不被乱用)?

vps网友提供 01-09 讨论归档 10
想问一下这样(纯)前端(js)的服务,怎么保证别人不能使用我的ID和Key。
看了一下Parse和Firebase这样的东西,我的理解是他们的ACL(或者叫Security Rules)都是针对对象级别的,比如Parse的每个obejct都有一个ACL字段,可以指定谁能读,谁能写。

此外,他们也都提供(集成)了用户认证(username/password,social)等,这样,就能确保用户和他们的数据的安全性。这和非BAAS应该是一样的。

这两个服务器的通信也都是SSL的,FB更是号称采用了2048位加密。

我的问题是,js的话代码都是暴露的,key和id都是明文的。我怎么能防止别人使用这个key和id呢?

本文由 vps网友提供,转载请注明出处

本文链接: https://www.vpsvsvps.com/discuss/a/1676471641678286848.html

标签:
hjiang
04-17

@liubin 也可以用 ACL 控制对私有数据的读取啊,有些数据可能必须让所有人可以读取才行,但这一点和你自己开发后端没有不同。别人同样可以通过向你的服务器发送一些请求来读取到一些数据。

liubin
04-08

@hjiang 3ks,我主要关心的是如何防止别人拿你的id和key去访问数据。。。。

hjiang
04-08

要做到安全,就需要在写程序的时候就假设 app id 和 app key 都是公开的。通过 ACL 来控制权限。 AVOS Cloud (http://avoscloud.com) 和 Parse 都是使用同样的机制。

sobigfish
01-12

实在担心就弄个主机包装一下?

sun391
01-10

比较担心的是恶意调用api提交垃圾数据,或者是耗你的api调用次数。

Js毕竟是明文的,没办法

Parse主要的应用还是Native APP

openroc
01-10

btw,如果你的用户写入垃圾数据,就和v2上,发垃圾贴一样,该运维的处理。

openroc
01-10

put、post都限制用户了,不是你的用户肯定不能写入,如果是你的用户,就应该写入。:)

因此,id和key只是个标识,关键安全机制在class level和object level的权限控制。

liubin
01-10

@openroc 是,他们都有针对类和对象的Class设置。但是还是不能防止别人使用我的id和key,比如写入垃圾数据等。

openroc
01-10

看了一下parse的文档,根据他们介绍的security,

App ID和App Key是不保证安全的,而且要求,client和server之间的通信必须是https。接下来主要class level的控制,以及object level的控制。才能保护到你想保护的数据。

因此,即便有了ID和key,只是开放的数据,对写爬虫,或者其他第3获取你的内容的容易了,可以直接通过api获取数据。你通过class level和object level的限制的数据,还是不能轻易被获取的。

由于user login,Parse返回了session token。 https://parse.com/docs/rest#users

openroc
01-09

最近也在研究这个。 先mark一下。