如果user1同意user2成功完成任務,我正在編寫一個應用程序,該應用程序將user1的錢給user2。ExpressJS阻止我的應用被黑客攻擊
我對如何解決這個問題有幾點看法,但我擔心安全問題。我很可能不太瞭解這個問題,並且我希望得到建議。
一種方法是偵聽user1是否滿意user2的作業完成。
例快遞代碼數據保存到火力地堡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");
});
然後,如果用戶是在DB高興,我可以檢查,然後發送user2的user1的錢。
但是,似乎任何人(特別是用戶2)都可以在「/ general/something」將POST DATA(user1的ID)發送到我的服務器並獲得userone的錢。
我們可以假設user2知道user1的Firebase用戶ID。這是因爲我需要用戶能夠互相引用,並且用戶ID是我用Firebase發現的唯一方式(不會將其他用戶的電子郵件地址發送出去)。
完成此任務的最佳方式是什麼?
您需要加密保護您的API。除了提供他們的ID之外,他們還需要發送證明他們擁有賬戶密碼的東西。 –
@ElanHamburger我在哪裏可以瞭解更多有關以這種方式保護我的API的信息?我將無法再使用Firebase身份驗證嗎? – hunterInt
您可以使用Firebase身份驗證。您可能會需要類似[基於令牌的身份驗證](https://scotch.io/tutorials/the-ins-and-outs-of-token-based-authentication),我相信Firebase提供了API。 –