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

Javascript 如何保护angular(或任何js)应用程序(网站)对解析服务器的请求?,javascript,security,parse-platform,parse-server,Javascript,Security,Parse Platform,Parse Server,目前,我们正在使用APP_ID和JS_KEY请求解析服务器。我们已经在我们的网站上注册,在电子邮件验证后,用户可以创建组、发送消息等 使用CLP和ACL可以很容易地限制登录用户读取某些数据的权限,但是如何禁止某人使用我们的APP\u ID和JS\u KEY编写脚本(他可以从调试器的“网络”选项卡中获得),然后使用有效凭据登录,并使用一些虚拟数据溢出解析数据库?你知道怎样预防它吗 非常感谢您的想法。使用parse server时需要记住的几点 不要在客户端的源代码中写入主密钥。他们不需要它 在代

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

使用
CLP
ACL
可以很容易地限制登录用户读取某些数据的权限,但是如何禁止某人使用我们的
APP\u ID
JS\u KEY
编写脚本(他可以从调试器的“网络”选项卡中获得),然后使用有效凭据登录,并使用一些虚拟数据溢出解析数据库?你知道怎样预防它吗


非常感谢您的想法。

使用parse server时需要记住的几点

  • 不要在客户端的源代码中写入主密钥。他们不需要它
  • 在代码中使用ACL
  • 使用Parse Server 2.2.1或更高版本享受CLP
  • 将EnableNonymousers设置为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
  }
});

谢谢你的观点,其中大部分我们已经有了,但是其他人会检查的!顺便说一句,也许你们知道一些在解析服务器上工作的软件,它可以根据url、用户IP和其他参数按频率过滤请求?我认为额外保护站点免受DDoS攻击是个好主意。@Ratmir您可以做很多事情来防止攻击和暴力攻击等,比如express brute和其他中间件包。NPM上有几个专门用于此的软件包!