gpt4 book ai didi

javascript - 如何限制对 Netlify Serverless 功能的访问

转载 作者:行者123 更新时间:2023-12-01 00:08:14 25 4
gpt4 key购买 nike

我搜索了netlify docs我不明白这一点。

我在这里有一个无服务器功能

/.netlify/functions/orderCreate

但是我可以在浏览器中或使用curl点击它,它会尝试创建一个订单。如果攻击者发现此功能,他们可能会在我的数据库中创建数千个虚假订单。

我知道我可以做一些简单的检查,比如确保它是一个 HTTP post,或者确保它有一些有效的 session ID,但我真的想要某种类型的身份验证或更好的安全性。

因为所有请求应该通过ajax请求来自客户端React应用程序,我可以将其限制在同一个域或其他域中吗?

最佳答案

由于 Netlify 不提供基于来源检查和特定请求的方法,因此您可以从函数代码内部手动执行此操作,并在来源不是您的客户端域时发送 403 响应:

exports.handler = function(event, context, callback) {
if (event.headers["Origin"] !== "https://whateverisyourdomainname.netlify.com")
return callback(null, { status: 403 })

// else, do whatever your function does
}

最近的浏览器确实阻止用户自己设置 Origin header 。但是,没有什么可以阻止任何人制作 curl 请求并欺骗 Origin header 来访问您的函数。如果您希望真正阻止它,您应该为您的应用程序设置适当的身份验证过程

关于javascript - 如何限制对 Netlify Serverless 功能的访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60221549/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com