Ruby on rails 使用access control allow origin是否足以防止api的滥用?

Ruby on rails 使用access control allow origin是否足以防止api的滥用?,ruby-on-rails,api,http-headers,cors,Ruby On Rails,Api,Http Headers,Cors,我正在制作一个api后端,它使用另一个api,例如Twitter。(请注意,实际的api不是twitter,但我使用它们作为示例) 假设Twitter对其api的调用次数有限制,超过这个限制,它开始向我的信用卡收费。这就是为什么没有人滥用我的api对我来说非常重要的原因 我想防止人们查看我的前端代码,并查看它击中了哪个端点,因为如果有恶意的人这样做,我将很快超过限制,并必须支付$$ 我的前端代码使用get调用mybackend.com/twitter/api 只需在我的后端添加一个accessc

我正在制作一个api后端,它使用另一个api,例如Twitter。(请注意,实际的api不是twitter,但我使用它们作为示例)

假设Twitter对其api的调用次数有限制,超过这个限制,它开始向我的信用卡收费。这就是为什么没有人滥用我的api对我来说非常重要的原因

我想防止人们查看我的前端代码,并查看它击中了哪个端点,因为如果有恶意的人这样做,我将很快超过限制,并必须支付$$

我的前端代码使用
get
调用
mybackend.com/twitter/api

只需在我的后端添加一个
accesscontrolalloworigin
头就足够了吗

headers['Access-Control-Allow-Origin'] = 'myfrontend.com'
我问这个问题的原因是因为我注意到直接在浏览器中键入
mybackend.com/twitter/api
是有效的,如果我将
access control allow origin
设置为特定网站,这不是我所期望的


我做错什么了吗?尽管我有一个
access control allow origin
标题,但很明显,只要在浏览器的url中键入脚本就可以了,我如何防止有人简单地编写脚本来攻击我的后端呢。您可以尝试为您的API实现一个请求签名,以便在后端准确地知道它的来源。你可以看看它是如何工作的


第二种选择,对我来说,一个更适合你的问题,是在你的服务器负载平衡器上设置拒绝服务方法,以防止来自同一来源的多个请求,因此,不要让这些恶意请求攻击你的后端。

有两种可能的解决方案。您可以尝试为您的API实现一个请求签名,以便在后端准确地知道它的来源。你可以看看它是如何工作的

第二个选择,对我来说,一个更适合你的问题,是在你的服务器负载平衡器上设置拒绝服务的方法,以防止来自同一来源的多个请求,因此,不要让这些恶意请求攻击你的后端