2013-11-04 39 views
5

我想使用Flickr API方法flickr.photos.search在JavaScript中,寻找我所有的照片与特定的标签:在客户端JavaScript中使用我的Flickr API密钥是否安全?

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/[email protected]&tags=fazynet&format=json 

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

+1

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

+2

[如何保护API密钥使用JavaScript?](http://stackoverflow.com/q/11470389/710446) – apsillers

回答

1

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

+0

可能的重复当然,我还没有设法想到它可以用任何方式完成目前的Flickr API(也许他们可以将其更改为仅允许来自特定域的请求,但是甚至不能确定这是可能的)。 – fazy

+0

不幸的是,由于请求将来自用户浏览器,所以他们不知道(或确认)它来自哪个域。此外,这没有任何必要。但很好的问题。 – George

相关问题