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文件以使用“允许客户端类创建”选项。在生产阶段禁用
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上有几个专门用于此的软件包!