laravel - 限制对 laravel 中的图片 url 的直接访问
问题描述
如果我直接给出图像路径,它现在可以访问。我希望只有在用户登录时才能访问图像。例如:这是图像路径 http://localhost:8000/images/ test.jpg 如果用户在没有通过错误消息登录的情况下提供此路径,因为访问已用餐
你能帮助我吗..
解决方案
有几种方法可以解决这个问题,我会使用的方法是将所有图像保存在resources/assets/
公用文件夹之外的文件夹中。
现在您可以创建这样的路线:
Route::get('images/{file}', 'ImageController@getImage')->where('file', '.*');
现在在您的 中ImageController
,您可以检查用户是否已登录。如果是,您可以从资源文件夹中加载图像并将其发送到文件响应中。如果他们没有登录,他们将无法访问该文件。
推荐阅读
- php - 使用动态页面和静态页面重写 URL
- dart - '(dynamic) => dynamic' 不是 '(Node) >= bool' 类型的子类型
- scala - 使用来自伴随对象的变量的伴随类,如何使用 scalatest 测试伴随类中的方法
- node.js - 如何根据 Express 中的 req.params 提供静态文件?
- api - 从 .Net Core 3.1 API 的控制器内访问服务信息
- python - 矩阵的基数变化
- amazon-web-services - 如何从在自动缩放组后面运行并连接到 jms 队列的 aws ecs docker 容器中排出消息
- html - 如何摆脱通用输入的这种边界?
- elasticsearch - 如何删除 Kibana 7.8.1 Spaces 上的管理菜单并使 Dashboards 页面为主?
- php - 通过 Infusionsoft Campaign API 中的 HTTP Post 返回值