首页 > 解决方案 > 限制对 laravel 中的图片 url 的直接访问

问题描述

如果我直接给出图像路径,它现在可以访问。我希望只有在用户登录时才能访问图像。例如:这是图像路径 http://localhost:8000/images/ test.jpg 如果用户在没有通过错误消息登录的情况下提供此路径,因为访问已用餐

你能帮助我吗..

标签: laravel

解决方案


有几种方法可以解决这个问题,我会使用的方法是将所有图像保存在resources/assets/公用文件夹之外的文件夹中。

现在您可以创建这样的路线:

Route::get('images/{file}', 'ImageController@getImage')->where('file', '.*');

现在在您的 中ImageController,您可以检查用户是否已登录。如果是,您可以从资源文件夹中加载图像并将其发送到文件响应中。如果他们没有登录,他们将无法访问该文件。


推荐阅读