如何保护用户在我的网站上传的私密照片?

she*_*il8 10 php image uploading

我正在使用PHP/MySQL来处理图像上传.我希望所有上传到登录用户图库的图像只能由登录用户访问.我不希望人们能够猜出文件名并直接链接到它.

我想我可以将图像存储在webroot之外,并通过一些PHP访问它们.但是,如果用户想要稍后通过链接与朋友分享图像,我该如何允许?

我还需要采取其他措施来确保只有用户可以看到他们的照片吗?我非常重视用户隐私,并且想要做到这一点.

感谢您的帮助!

met*_*din 9

你原来的假设是正确的.将文件存储在公共目录之外,并使用PHP脚本检查授权并显示图像.

为了解决共享问题,你可以给他们一个区域,他们可以说"分享这张照片",它会显示一个像这样的网址

http://www.yoursite.com/image/12390123?v=XA21IW
Run Code Online (Sandbox Code Playgroud)

XA21IW将是存储在表中的一些唯一哈希值,它们可以指定生命周期,也可以自己编写代码.当页面加载并传入v时,您可以查找表以确定它是否是该图像ID的有效哈希.

你有一些选择.每次他们点击"分享这张照片",您都可以:

  1. 消灭所有旧的哈希
  2. 添加到堆栈
  3. 允许他们配置到期等...

或者只是允许图像公开/私密.