繁体   English   中英

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

[英]How do I secure private photos that a user uploads on my site?

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

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

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

感谢您的帮助!

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

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

http://www.yoursite.com/image/12390123?v=XA21IW

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

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

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

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

您可以使用基于配置文件(用户)的共享系统,其中登录的用户A可以指示允许登录的用户B查看图像C,并且可以随意添加/删除此类权限。

如果无法将查看链接到用户帐户,则可以在图像或图像组(例如图库)上“查看密码”; 查看图像的URL将检查用户/所有者是否是查看者,如果不是,则需要密码。

我认为将图像存储在webroot之外并通过某些PHP访问它们没有问题。 当用户共享它时,您总是可以使用php脚本访问它们。即使这样做更安全,因为您始终可以执行一些安全检查。 在实际显示图像之前。

谢谢。

您将图像保存到您的服务器,将图像名称,数据放在您需要的数据和一些哈希数据库....比将图像路径设置为名为images.php的php文件,其中您通过GET接收此哈希并通过哈希查找图像从您DB和标题设置为图像/ GIF示例创建图像。 图像的路径是images.php?hash = abcdefg。

其他人考虑用户许可等等...我认为有一些回应这个解决方案...它很安静容易...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM