在我的网络应用程序中,用户可以上传他们的个人资料照片。他们可以在线销售手机,因此他们也可以上传手机图片,但如果我将个人资料图片和手机照片存储在mylaravel-app/public/(css js images user-photos)
中,那么其他所有用户也可以看到这些照片。
我应该如何将照片存储在另一个目录中,以便只有用户才能看到他们的照片,而且用户也不能从网址上看到照片的整个目录,如:
`site.com/photos (whole directory is exposed )`
答案 0 :(得分:0)
执行此操作的一种方法是为每个用户提供自己的照片文件夹,因此如果用户ID为1,则其目录为mylaravel-app / public / photos / userid,然后将匹配的用户ID设置为将照片放在数据库的单独表格中。您还可以chmod该文件夹,以便只有应用程序可以访问照片目录。这是一篇文章: File Permissions
答案 1 :(得分:0)
您可以将其与元数据一起存储在数据库中,例如谁拥有它和其他权限,并创建一个从数据库中提取照片的页面,检查以确保访问它的用户能够。您可以使用.htaccess使页面看起来像一个接受图像名称作为参数的目录。