如何保护角度(或任何js)应用程序(网站)的请求以解析服务器?

时间:2017-01-11 19:15:26

标签: javascript security parse-platform parse-server

目前我们正在使用APP_IDJS_KEY来请求解析服务器。我们在我们的网站上注册,在电子邮件验证后,用户可以创建群组,发送消息等。

使用CLPACL来读取某些数据很容易限制登录的用户权限,但如何禁止某人编写一个脚本使用我们的APP_IDJS_KEY(他可以从&#34; Network&#34;调试器选项卡中获取),然后使用有效凭据登录,并使用一些虚拟数据溢出解析数据库< / STRONG>?你知道怎样预防它?

非常感谢您的想法。

1 个答案:

答案 0 :(得分:1)

使用parse-server时要记住几点。

  • 不要在客户端的源代码中写入主密钥。他们不需要它。
  • 在代码中使用ACL。
  • 使用Parse Server 2.2.1或更高版本享受CLP。
  • 将enableAnonymousUsers设置为false,以防止匿名调用API。
  • 修改index.js文件以使用“允许客户端类创建”选项。在生产阶段禁用。

index.js中相关的代码片段现在看起来如下:

var api = new ParseServer({
  databaseURI: databaseUri || 'mongodb://localhost:27017/dev',
  cloud: process.env.CLOUD_CODE_MAIN || __dirname + '/cloud/main.js',
  appId: process.env.APP_ID || 'myAppId',
  masterKey: process.env.MASTER_KEY || '', //Add your master key here. Keep it secret!
  serverURL: process.env.SERVER_URL || 'http://localhost:1337/parse',  // Don't forget to change to https if needed
  enableAnonymousUsers: process.env.ANON_USERS || false,
  allowClientClassCreation: process.env.CLIENT_CLASS_CREATION || false,
  liveQuery: {
    classNames: ["Posts", "Comments"] // List of classes to support for query subscriptions
  }
});