如何保护端点



我有一个用expressjs 编写的端点

router.post("/mkBet", async (req, res) => {
console.log(req.body)
const betToPush = new Bet({
addr: req.body.address,
betAmount: req.body.amount,
outcome: req.body.didWin,
timePlaced: Math.round(+new Date()/1000)
})
try {
const newBet = await betToPush.save()
res.status(201).json(newBet)
} catch(err) {

res.status(400).json({message: err.message})
}})

我正在努力让它只有在前端执行动作时才能调用。所以用户不能用自定义参数来调用它,所以结果总是正确的。实现这一目标的最佳方式是什么?

无法安全地告知是哪个客户端发送了请求。换句话说,来自客户的请求和不同的请求通常可以是相同的。

谈到未修改的浏览器(与Postman等非浏览器工具相反(,您可以从origin和Referer请求标头中确定请求的来源(发送请求时加载在浏览器中的url(。但是,您的后端无论如何都需要身份验证和授权。

有了后两者,即在服务器端实现了适当的安全性,什么客户端发送请求就不再重要了。

相关内容

  • 没有找到相关文章

最新更新