Php 使用自定义标题进行图像访问

Php 使用自定义标题进行图像访问,php,javascript,xmlhttprequest,base64,restful-authentication,Php,Javascript,Xmlhttprequest,Base64,Restful Authentication,我通过在头中使用有效的访问令牌仅自动调整HTTP请求来保护我的RESTful php API。 我在所有AJAX请求中添加了带有令牌的头: $.ajaxSetup headers: auth_token: auth_token 为了确保图像访问的安全,我想使用相同的逻辑并在请求头中添加令牌。 显然,我只能通过AJAX请求和Base64图像数据来实现这一点: $.get url, (imageData) => $image.attr src: "data:i

我通过在头中使用有效的访问令牌仅自动调整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
它工作得很好,只是当令牌更改时,我的图像不会被缓存


还有什么选择?

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

我设置了我的a cookie,但我检查我的令牌(来自标题)是否与会话/cookie中的令牌对应。这是不必要的吗?我认为检查其中一个的存在就足够了。Cookie只是请求http头中的另一个内容。