我已经基于我的API创建了一个网站 - 这样我的FrontEnd就可以使用一个简单的REST API与后端分离(前端是纯粹的javascript / html)。
我想保护API不被其他人使用 - 这样来电就可以来自网站(或者可能允许其他特定网站使用它)。
目前,如果有人使用curl
,他将能够轻松地抓取API。
假设FrontEnd只是JS / Html,我如何保护API,以便来自我自己网页的合法调用有效但curl
来自第三方的调用不起作用?
答案 0 :(得分:4)
这个问题可能不适合SO,因为可以有多个同样有效的答案。
但实现此目的的一种方法是使用SSL,用户身份验证和令牌。这是一个纲要:
用户身份验证的一部分很重要,因为否则,虽然您可以非常安全地远程黑客(因为SSL),黑客使用浏览器访问您的网站,以便他/她可以获得然后令牌可以使用curl
或类似于他/她的心脏内容与该令牌。因此,如果某人正在挖掘您的网站,您至少想知道他们可能是谁(您的用户身份验证),这样您就可以让他们停止。