gpt4 book ai didi

angularjs - 在网页中提供 REST-API 数据而不暴露 API 端点

转载 作者:太空宇宙 更新时间:2023-11-03 23:23:33 26 4
gpt4 key购买 nike

我是 MEAN 堆栈的初学者。

调用未经身份验证的 REST API(无需用户登录)时,API 端点会在 JS 文件中公开。通过论坛查看,没有办法阻止滥用者直接使用 API 端点,甚至无法阻止使用这些端点创建自己的 Web/应用程序。所以我的问题是,有什么方法可以避免暴露 JS 文件中的端点吗?

同样,有没有什么方法可以不在前端使用 REST 调用,并且仍然能够在 MEAN 堆栈中提供这些动态内容/API 输出数据?我使用 EJS。

最佳答案

没有真正安全的方法来做到这一点。您可以在服务器上渲染页面,这样客户端只能看到 HTML(以及一些有限的 JS)。

首先,如果您不启用 CORS,您的 AJAX 调用将受到浏览器的保护,即只有域 A 提供的页面才能对域 A 进行 AJAX 调用。

Google map 等公共(public) API 提供商会要求您使用他们链接到 Google 帐户的 API key 来保护自己。该键在 JS 中仍然可见,但是 - 如果滥用 - 可以轻松禁用。

还有通过混淆实现的伪安全性,即使攻击者更难提取您正在使用加密 API 交互的公共(public) secret 。

http://javascript2img.com/这样的工具远非完美,但会让攻击者花费大量时间试图弄清楚你的代码的用途。通常这就足够了。

还有多种方法可以按需下载 JS 代码,然后检查它运行的 DOM 是否是您的。

关于angularjs - 在网页中提供 REST-API 数据而不暴露 API 端点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47059515/

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