0

我通过仅使用标头中的有效访问令牌自动处理 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

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

剩下什么选择?

4

1 回答 1

1

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

于 2013-01-25T22:58:45.540 回答