【发布时间】:2012-01-18 23:07:00
【问题描述】:
我知道发布了许多类似的问题,但没有一个是指用户可以访问代码的 HTML/javascript 应用程序。
我有一个用 nodejs 编写的私有 REST API。它是私有的,因为它的唯一目的是为我的 HTML5 客户端应用程序(Chrome 应用程序和 Adobe Air 应用程序)提供服务。因此,API 密钥不是一个好的解决方案,因为任何用户都可以看到 javascript 代码。
我想避免机器人在我的服务器上创建帐户并消耗我的资源。
有什么办法可以实现吗?
【问题讨论】:
-
我不确定是否有任何答案满足您的问题。请分享您如何解决您描述的问题。我正在构建可用于未注册用户的基于 REST + AJAX 的 Web 应用程序。和你一样,我想保护资源免受机器人攻击。
-
从逻辑上讲,如果从任何人都可以查看源和/或监视发送到服务器的数据的网页调用 API,则实际上没有办法使 API 真正私有。要捕获机器人,您可以使用 Captcha 等常用技巧,但最终您需要后端支持(WAF、快速自动缩放等)来应对自动 DDOS 类型攻击的可能性。只要您尽早检测到可能的 DDOS 攻击(在建立数据库连接等之前),就与处理试图下载页面的机器人没有什么不同。
标签: javascript security api rest node.js