【问题标题】:Is it safe to use my Flickr API key in client-side JavaScript?在客户端 JavaScript 中使用我的 Flickr API 密钥是否安全?
【发布时间】:2013-11-04 21:04:03
【问题描述】:

我想在 JavaScript 中使用 Flickr API 方法 flickr.photos.search 来搜索我所有带有特定标签的照片:

http://api.flickr.com/services/rest/?method=flickr.photos.search&api_key={API_KEY}&user_id=50001188%40N00&tags=fazynet&format=rest

(要使其正常工作,请将 {API_KEY} 更改为有效的 Flickr API 密钥。)

我的问题是:在客户端 JavaScript 中包含该键是否安全?

我已经看到一些教程网站这样做了,但是如何阻止有人复制他们的 API 密钥(或我的)并超过速率限制?

当然,我可以设置一个运行在 Node.js 中的非常简单的代理来插入密钥(甚至 Apache 或 Nginx 都可以做到),但设置和监控是另一回事。

如果有安全的纯 JavaScript 解决方案,我会接受的。 :)

注意,我目前正在使用这个不需要身份验证的查询:

http://api.flickr.com/services/feeds/photos_public.gne?id=50001188@N00&tags=fazynet&format=json

但是,结果似乎不再反映变化(至少等待 24 小时后)。

【问题讨论】:

  • 没有办法。如果您在客户端代码中使用它,最终用户可以看到它,并且他们可以将其复制到自己的脚本中。你能做的最好的事情就是混淆你的 Javascript,让他们更难理解它。

标签: javascript security flickr


【解决方案1】:

恐怕没有纯 JavaScript 方法来实现这一点,您必须创建一个服务器端脚本来执行 API 调用并改为调用该脚本。

【讨论】:

  • 当然,我还没有想到任何方法可以使用当前的 Flickr API 来完成(也许他们可以将其更改为仅允许来自某些域的请求,但甚至不确定这是否可能) .
  • 很遗憾不是,因为请求将来自用户浏览器,因此他们不知道(或确认)它来自哪个域。另外,实际上没有任何必要。但问得好。
猜你喜欢
  • 2016-02-19
  • 1970-01-01
  • 1970-01-01
  • 2017-11-16
  • 2020-01-24
  • 2016-11-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多