ExpressJS阻止我的应用被黑客攻击

时间:2017-07-25 16:47:04

标签: node.js security express firebase firebase-realtime-database

我正在编写一个应用程序,如果user1同意user2成功完成任务,那么该用户将向user2提供资金。

关于如何解决这个问题,我有几个想法,但我担心安全问题。我很可能不是应该尽可能地理解这个主题,而是希望得到建议。

一种方法是监听user1是否满意user2的工作完成情况。

示例Express代码将数据保存到Firebase DB:

app.post('/general/something', function(serverReq, serverRes) {
    var data = serverReq.body;

    var ref = db.ref("stuff/"+data.userOneId).update({
        isHappy: true
    });
    serverRes.send("Posted");

});

然后我可以检查用户是否对数据库感到满意,然后发送user2 user1的钱。

然而,似乎任何人(特别是user2)都可以在我的服务器上发布数据(用户1' ID)/#34; / general / something"并获得userone的钱。

我们可以假设user2知道user1的Firebase用户ID。这是因为我需要用户能够互相引用,并且用户ID是我在Firebase中找到的唯一方式(不会将其他用户的电子邮件地址排除在外)。

完成此任务的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

感谢@ElanHamburger我可以使用带Firebase的代码(https://firebase.google.com/docs/auth/admin/verify-id-tokens)解决问题。