Aar*_*oir 13 backbone.js ember.js angularjs
在我的Ember/Angular/Backbone应用程序中从cookie转移到基于令牌的身份验证时,我遇到了麻烦.
问题是无法在img标签上设置请求标头.
有些人建议将令牌参数附加到请求的末尾,从而使用auth令牌乱丢服务器日志.
使用基于令牌的身份验证访问受保护的内联资产的正确方法是什么(如果有的话)?
Chr*_*ola 11
重要提示:我不是安全专家(但我涉猎)
在过去,我使用Amazon S3及其基于令牌的资产安全性.这些允许您生成私有甚至临时URL以进行资产访问.您也可以在自己的服务器上实现类似的机制,但请记住,您现在将自己托管和提供资产,因此请记住带宽使用,缓存等问题.
这篇文章似乎有一篇关于使用AngularJS和亚马逊保护图像的非常详细的教程.
如果您不想使用亚马逊路线,您需要自己实施某种令牌/安全方案,并且您可以采取多种方法.它在很大程度上取决于您想要的安全级别.
您可以在没有URL的情况下以编程方式加载图像数据.应该可以使用CSS和base64数据URI来完成此任务.您可以对数据发出AJAX请求并填充数据URI.虽然这绝对安全,但也可能效率低下.
您可以使用cookie来控制访问.因为这些将在获取图像时由浏览器发送.
您可以使用安全的标记化URL的自定义实现https://host/secure_images/{tokenized_access_url}.jpg.就像S3一样.您甚至可以在一段时间后使此令牌过期.
根据您的需要,您可能会发现其中一些技术会损害您利用缓存的能力.这就是为什么使用S3/Cloudfront可能是安全性和效率方面的最佳选择.
您还应该问的是,是否需要保护这些资产以防止泄露的URL.对于许多情况,只需将资产网址保密(在某处使用随机生成的值)并仅将其显示给具有访问权限的用户,这是一个充分的解决方案.
| 归档时间: |
|
| 查看次数: |
2484 次 |
| 最近记录: |