gpt4 book ai didi

reactjs - CloudFlare JS挑战打破了我的SPA

转载 作者:行者123 更新时间:2023-12-03 16:28:52 24 4
gpt4 key购买 nike

我有一个基于React的SPA,它通过S3托管在一个子域react.mydomain.com ...上,它与PHP REST API进行通信,该API托管在另一个子域api.mydomain.com的VPS上。 api.mydomain.com位于CloudFlare后面。由于Webapp在AWS上,因此它在CloudFront后面。

我遇到了直接向API发出的漫游器请求,使API泛滥了我的VPS,并且我想将JS挑战功能与CloudFlare结合使用以缓解这种情况。

但是,似乎正在发生的事情是用户能够加载React Webapp(它并不在CloudFlare后面)。然后,提示JS质询的请求将立即以503响应失败,因为它是AJAX请求,并且与Javascript质询不兼容。

我以为我可以通过捕获错误并重定向来处理此问题。但是,如果我手动强制自己的浏览器导航到api.mydomain.com URL,我将看到CloudFlare挑战并将其传递。但是,如果我随后导航回到我的react.mydomain.com SPA,则OPTIONS请求将失败,因为它无法附加告知CloudFlare已通过的cookie。

我不知道如何调整基础架构,以便可以利用JS挑战。目前,我只能使用速率限制,但是我发现,当我变得非常严重以至于用户开始提示时,我仍然让大约75%或更多的不必要的bot流量通过。

最佳答案

如果您具有后端访问权限,则在检测到漫游器时可以使用NPM和process.kill(process.pid)作为临时解决方案。

关于reactjs - CloudFlare JS挑战打破了我的SPA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54337119/

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