我有一个辅助应用程序,它每天都会将新文件夹放入我的Laravel应用程序中。文件夹的内容需要可公开访问,因为它们是 Flash 文件,每天的文件夹中放置了许多资产,以及静态.html
页面、.jpgs
和 .swfs
。这些链接是辅助应用程序的供应商编码框架的一部分。
使用 php 从非 Web 可访问的文件夹中移动文件似乎不是一个好的选择。我尝试使用readfile()
并考虑.htaccess
,但我不希望我的用户进行二次登录。
只有使用我的Laravel应用程序登录的用户才能访问这些文件。有没有办法使用 Laravel 的身份验证系统而不是基本身份验证来保护对该文件夹中任何请求的访问?了解该文件夹中的页面请求会有所不同?
通过广泛的搜索,我发现Laravel无法使用静态资产处理公用文件夹的保护。这是 Web 服务器配置问题。
一种解决方案是设置一个 cookie,如果 cookie 值与预定值不匹配,则由 Web 服务器读取并反弹用户。但是Laravel会加密cookie,并处理每次加载时未加密的cookie。因此,该解决方案仅在您使用 App::filter 使用 php setcookie() 处理 cookie 时才有效。