具有一定保护的 JSONP 端点

JSONP endpoint with some protection

我有一个 returns JSON 的端点,我在 AJAX 的站点上使用它。

我想使用来自其他站点(运行 在不同域上)的相同端点,因此我想通过回调将其转换为 JSONP。

数据不敏感,不需要严格的安全措施。但是,我想让其他站点尽可能难以直接在其站点中使用端点。 (我意识到他们在技术上可以通过服务器端代码或反向代理使用几乎任何互联网可访问端点)。

实现该目标的最佳方法是什么?

我的一个想法是添加一个 JWT 标记作为参数。令牌将在使用端点的站点上提供。这有意义吗?有没有更好的做法来实现这一目标?

您可以将您的服务器构建为 Web 服务,它接受来自所有域白名单的请求...

您应该阅读以下内容: https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS

使用 CORS 而不是 JSONP 可以让您更好地控制网站访问的 json,但是它不会阻止 服务器 访问 json,这意味着绕过它只意味着使用 YQL 之类的东西或他们自己的服务器来获取数据。

然而,JWT 会解决这个问题,假设每个 JWT 都会相对较快地过期。