【问题标题】:Image access with custom headers使用自定义标题访问图像
【发布时间】:2013-01-09 23:54:45
【问题描述】:

我通过仅在标头中使用有效访问令牌自动处理 HTTP 请求来保护我的 RESTful php API。 我在所有 AJAX 请求中添加了带有令牌的标头:

   $.ajaxSetup headers:
     auth_token: auth_token

为了保护图像访问,我想使用相同的逻辑并在请求标头中添加令牌。 显然,我只能使用 AJAX 请求和 Base64 图像数据来做到这一点:

   $.get url, (imageData) =>
     $image.attr src: "data:image/jpeg;base64," + imageData

我不确定性能? 因为我的图片大小在 12 字节和 4mb 之间,而且我想要完整的移动支持。

我发现的另一种方法是查询字符串:

  $image.attr src: 'image/12.jpg?auth_token=' + token

它工作得很好,除了令牌更改时我的图像不会被缓存。

还有哪些选择?

【问题讨论】:

    标签: php javascript xmlhttprequest base64 restful-authentication


    【解决方案1】:

    您可以使用 cookie。第一个请求设置您签名的 cookie(如会话 cookie),因此它不会被伪造。然后对于图像请求或与此相关的任何其他请求,请检查浏览器发送的带有正确代码的 cookie,您可以链接到原始请求。这样你只需要第一个请求的令牌。

    【讨论】:

    • 好吧,我设置了一个 cookie,但我检查我的令牌(来自标头)是否与会话/cookie 中的令牌对应。有没有必要?
    • 我认为检查是否存在就足够了。 cookie 只是请求的 http 标头中的另一件事。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-04-02
    • 1970-01-01
    • 2014-12-26
    • 2011-10-21
    • 2011-01-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多