gpt4 book ai didi

php - 仅在 php 中限制登录用户对图像文件的访问

转载 作者:可可西里 更新时间:2023-11-01 12:32:03 24 4
gpt4 key购买 nike

假设用户A在他/她的Facebook账户中有一些图片,他/她可以在登录后查看。

如果用户 A 注销并尝试其中一张图片的 url,则会出现“访问限制”类型的消息。

想想用 PHP 构建的社交网站。

如何实现那种控制,以便像 Facebook 一样,无需登录网站就可以查看任何图像?

最佳答案

  • 将所有图像移动到无法从网络访问的文件夹。
  • 实现一个 php 脚本 (image.php),检查用户是否登录并接受图像名称作为输入(例如 image.php?name=flower.png)。
  • 如果用户已登录,则发送正确的内容类型图像header() http://il2.php.net/manual/en/function.header.php (例如图片/png)
  • 从磁盘读取文件并使用readfile() 将其发送给用户http://php.net/manual/en/function.readfile.php .
  • 通过发送诸如/images.php?name=/etc/hosts 之类的内容来确保人们无法访问图像目录之外的文件(最好接受图像 ID 而不是文件名,或者文件名的哈希值,您可以使用 md5() http://il2.php.net/manual/en/function.md5.php 生成哈希值,但请记住根据它们的 md5 哈希值命名图像文件,在这种情况下,您总是只查找图像文件在图像目录中)。
  • 如果用户未登录,您可以发送一个自定义图像,上面写着“请登录”或只是终止脚本。

关于php - 仅在 php 中限制登录用户对图像文件的访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9963284/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com