使用Meteor进行外部API调用的安全实践
Security practice for making an external API calls with Meteor
我在控制台测试,没有访问这些全局变量,但好奇这是否不能在Meteor:
if (Meteor.isServer) {
Meteor.startup(function () {
Twit = Meteor.npmRequire('twit')
T = new Twit({
consumer_key: 'cYiYGQ0BsN4DCM2'
, consumer_secret: 'uU6g0RqcDkkHwasaibQ5zi6Zpgtb'
, access_token: '324050hbjhVvdgi0xEUHKreca9u7dTo'
, access_token_secret: 'gCNBxu3NAQ9dNbhbvU6KwX'
});
});
如果这不是最佳实践,请提供一个答案,它仍然允许我访问流星中的变量'T'。方法调用。谢谢!
if (Meteor.isServer) {...}
防止在客户端执行,但是,除非该文件位于/server
目录中,否则它虽然没有执行,但仍然对客户端可用。这意味着任何浏览从服务器下载的javascript的人都可以观察到您的密钥 !!
我相信你会同意那是不好的。
首先,不建议您将密钥放入源代码中(因为很多原因太长,无法在这里列出),但是如果您这样做(作为一个快速的hack),请将包含密钥的文件放在/server
目录中,这样它们就不会被外界观察到。
阅读Meteor.settings
,了解如何避免在代码中使用密钥,并在与源代码分开的文件中进行外部管理。
流星。设置你的代码看起来像;
file: $(projecthome)/server/twitter.js:
Meteor.startup(function () {
Twit = Meteor.npmRequire('twit')
T = new Twit({
consumer_key: Meteor.settings.TWIT.key
, consumer_secret: Meteor.settings.TWIT.secret
, access_token: Meteor.settings.TWIT.token
, access_token_secret: Meteor.settings.TWIT.token_secret
});
});
相关文章:
- 每隔1秒调用一次jQueryajax是否安全
- Javascript Security:将敏感数据存储在比cookie更安全的自调用函数中
- Fine Uploader S3-无处安全调用异步“;setUploadSuccessParams()"
- IE在画布上调用toDataUrl时引发安全错误
- 使用不受信任的字符串(require.js)调用require()会引发安全问题
- 如何使 Ajax 发布到 Handler.ashx 安全并停止直接调用处理程序
- 将日期参数传递给 MVC 操作的 ajax 调用的安全方法
- Yesod:在 AJAX 调用中使用类型安全的 URL
- 如何使用跨域AJAX调用保护ASP.NET Web API的安全
- 如何通过XMLHttpRequest确保对Java Servlet的Javascript调用的安全,从而在手动将url输
- ajax调用中的安全问题
- 在调用之间持久化安全令牌
- javascript函数从编写的脚本外部调用是安全的吗?
- 不能从我自己的网站调用steam api网站(安全问题)
- asp.net MVC应用从javascript调用action方法时的安全问题
- Facebook Graph Api安全调用Javascript
- 调用函数和显示图像时的内容安全策略问题
- Javascript哈希在AJAX登录调用,更安全
- Rest Api上的安全Ajax调用
- 从JavaScript调用PHP文件安全吗?