Symfony 保护映像目录

Symfony 保护映像目录,symfony,Symfony,我正在寻找一些解决方案,使我的图片目录安全。 在我的页面中,只有管理员有权上载图片。用户只有机会查看产品的图片。我想使目录更加安全。我想让它很难从某种脚本下载所有图片 目前,我尝试使用.htpaccess和.htpasswd,它工作正常,但当用户试图查看产品页面(其中有来自安全文件夹的可用图片)时,htpaccess需要用户名和密码 当用户查看产品页面时,是否可以从服务器端输入此目录的用户名和密码。若他在新窗口中打开图片链接,那个么需要用户名和密码吗 你知道其他的解决办法吗 干杯不要将图像存储在

我正在寻找一些解决方案,使我的图片目录安全。 在我的页面中,只有管理员有权上载图片。用户只有机会查看产品的图片。我想使目录更加安全。我想让它很难从某种脚本下载所有图片

目前,我尝试使用.htpaccess和.htpasswd,它工作正常,但当用户试图查看产品页面(其中有来自安全文件夹的可用图片)时,htpaccess需要用户名和密码

当用户查看产品页面时,是否可以从服务器端输入此目录的用户名和密码。若他在新窗口中打开图片链接,那个么需要用户名和密码吗

你知道其他的解决办法吗


干杯

不要将图像存储在每个人都可以访问的web文件夹中。取而代之的是,将它们存储在web路径之外(例如,在app/data等中),并使用symfony控制器交付它们。通过这种方式,您可以使用symfony安全组件。

除了@Pierre的好答案之外,您还可以使用文件系统抽象层。我建议使用。要将其与Symfony集成,可以使用

它会给你更大的灵活性

  • 使用外部文件系统(例如AmazonS3、FTP、sFTP)
  • 使用Symfony安全组件或ACL

一切都取决于你的需要和你在项目中的方法。但是,如果您需要一些灵活性,我建议您尝试一下。

问题是,如果我存储了应用程序内/数据,那么我就无法在产品预览中看到它们:(当我在“新建”选项卡中单击-打开图像时,我会看到“禁止访问!”。知道如何解决此问题吗?在应用程序目录中,我有。httaccess,其内部是“拒绝所有”那么,你希望你的图像通过产品预览向公众开放,而不是向公众开放?这似乎与我有点矛盾。至于答案,@Pierre是对的,你应该使用controller和Symfony2访问控制设置访问规则。当你将图像存储在webfolder之外时,Web服务器无法直接访问它们相反,Symfony从那里读取它们(因为它不受这些访问限制的约束)并将内容传递给用户。添加一个包含文件名作为参数的路由,并通过readfile()传递图像内容。您可以在这里找到更多信息:我提供了几乎相同的答案:)感谢您提供的所有信息:)这将是非常有用的。顺便说一句,我在.htaccess中添加了订单允许、拒绝允许,现在我可以预览图像了。很遗憾,管理员无法在此目录中上载新文件。我现在来看一下: