如何在网页中隐藏我的私钥来自mandrillapp

时间:2015-02-13 15:37:49

标签: javascript jquery ajax mandrill

我已成功创建并在mandrill中添加了密钥,并可以从我在此处托管的javascript页面发送电子邮件:

http://goo.gl/2YSwj7

但我遇到的问题是我的mandrill密钥是公开可见的(在contact_me.js文件中)

我曾尝试使用mandrill密钥选项仅从某些IP地址启用密钥,但这不起作用! (我已经在关键选项限制中输入了github的ip,但实际上我们不是从那里发送它,而是从用户浏览器发送,对吧?)

如果有人有一些想法,如何解决这个问题,从浏览器发送电子邮件,并仅在该页面上限制它,我会很高兴听到它,

谢谢,oserk +

1 个答案:

答案 0 :(得分:3)

这是一些公司正在制造的永恒问题,通过JavaScript访问API而OAuth不容易受到攻击。

无法隐藏您的私钥,只要它在JavaScript内存中就可以很容易地被捕获。每当公司向您展示带有私钥的JavaScript示例代码时,他们显然不会遵循Web安全的工作方式。只需打开网页,您就可以毫不费力地获得私钥。

您应该搜索支持Oauth的JavaScript API。有什么不同? Oauth而不是在前端使用私钥,它在后端和前端使用它们,只是存储一个带有令牌的cookie,该令牌属于单个用户,在最坏的情况下是黑客,黑客只是黑客一个用户,他需要破解用户计算机,这比打开网络更难。

如果黑客使用私钥,他就会攻击整个公司帐户。私钥要小心。