我通过仅使用标头中的有效访问令牌自动调整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
它很有效,除了在令牌改变时我的图像不会被缓存。
剩下哪些选项?
答案 0 :(得分:1)
您可以使用Cookie。第一个请求设置您签名的cookie(如会话cookie),因此它不能伪造。然后,对于图像请求或任何其他请求,请检查浏览器是否使用您可以链接到原始请求的正确代码发送该cookie。这样,您只需要第一次请求时的令牌。