例如,如果您拥有一个允许会员之间发送私人图片的在线社区,例如数字笔友或约会网站,那么如何在Web服务器上保护这些图像以及向经过身份验证的用户显示它们的最佳做法是什么?
以下是我迄今为止所做的:
1.将图像存储在公共根目录之外。 2.通过一次性代码检索图像,而不是实际的图像位置。 3.随机散列图像名称和文件夹名称,使其不易猜测。 4.PHP脚本在显示图像之前对用户进行身份验证。
存储图像在根目录之外似乎是存储图像的最佳方法之一,以使它们难以访问,但是如果服务器直接被黑客攻击怎么办?
是否有一种方法可以对图像文件进行哈希和加盐,以便只有在哈希和加盐匹配时才能显示它们,即使黑客拥有该文件也不行?是否可能通过PHP或SQL返回此内容? 我正在考虑将图像编码为base64,并使用从每个用户生成的随机密码生成的盐来加密base64(是否可能?) 还是有更好的方法吗?
以下是我迄今为止所做的:
1.将图像存储在公共根目录之外。 2.通过一次性代码检索图像,而不是实际的图像位置。 3.随机散列图像名称和文件夹名称,使其不易猜测。 4.PHP脚本在显示图像之前对用户进行身份验证。
存储图像在根目录之外似乎是存储图像的最佳方法之一,以使它们难以访问,但是如果服务器直接被黑客攻击怎么办?
是否有一种方法可以对图像文件进行哈希和加盐,以便只有在哈希和加盐匹配时才能显示它们,即使黑客拥有该文件也不行?是否可能通过PHP或SQL返回此内容? 我正在考虑将图像编码为base64,并使用从每个用户生成的随机密码生成的盐来加密base64(是否可能?) 还是有更好的方法吗?
image.php?id=123
这样的东西,在其中应用一些逻辑,如检查请求图像的用户以及他们是否拥有所需的访问权限。 - Craig van Tonder