Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在网页中隐藏我的私钥_Javascript_Jquery_Ajax_Mandrill - Fatal编程技术网

Javascript 如何在网页中隐藏我的私钥

Javascript 如何在网页中隐藏我的私钥,javascript,jquery,ajax,mandrill,Javascript,Jquery,Ajax,Mandrill,我已经成功地在mandrill中创建并添加了密钥,并且可以从托管在此处的javascript页面发送电子邮件: 但是我有一个问题,我的mandrill密钥是公开可见的(在contact_me.js文件中) 我曾尝试使用mandrill-key选项仅从某些ip地址启用密钥,但这不起作用!(我在关键选项限制中输入了github的ip,但实际上我们不是从那里发送的,而是从用户浏览器发送的,对吗?) 如果有人有一些想法,如何解决这个问题,从浏览器发送电子邮件,并将其限制在该页面上,我将非常高兴听到它

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

但是我有一个问题,我的mandrill密钥是公开可见的(在contact_me.js文件中)

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

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


谢谢,oserk+

这是一些公司正在制造的一个永恒的问题,允许通过JavaScript访问API而不受100%的攻击

没有办法隐藏私钥,只要它在JavaScript内存中,就很容易被捕获。每当一家公司向您展示带有私钥的JavaScript示例代码时,他们显然不了解web安全的工作原理。只需打开网页,您就可以轻松获得私钥

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


如果一个黑客拿走了一个私钥,他就是在入侵整个公司的账户。小心私钥

感谢您提供的信息,我想节点环境中使用了纯javascript api,但我完全同意应该使用oauth!嘿,你认为我能在用户提交后通过一个ajax调用破解这个问题吗?我可以将请求发送到我的后台服务(heroku或类似的免费帐户可以用于此目的),并且只检查用户是否来自我的页面,并从那里执行邮件发送逻辑?这听起来很合理,对吧?是的,服务器端的处理更安全,他们不能修改“发件人”和“收件人”,你也可以检查推荐人是否是你的站点,再加上你限制每个IP的发送速率,比如在30分钟内从给定IP发送一封电子邮件,你们都已经准备好了联系方式邮件的基本安全措施@奥塞克