php - 如何获取链接您的图像的网站的 URL?

标签 php mysql laravel http python-requests

我试图只允许某些网站/域链接我的图像。我正在使用 Laravel 的中间件来完成此操作。

目前我只能让它在托管 Laravel 应用程序的 URL 上运行。

这是我尝试使用的代码。 If 语句应该检查使用图像的 URL 是否在 AuthorizedDomains 表中。

public function handle($request, Closure $next)
    {
        $authDomains = AuthorisedDomains::pluck('domain');
//        dd($request->getHttpHost());
        if ($authDomains->contains($request->getHttpHost())) {
            $request->headers->set('X-Content-Type-Options', 'nosniff');
            return $next($request);
        } else {
            return Image::make(public_path('images/forbidden.png'))->response();
        }
    }

目前它仅适用于本地主机或托管应用程序的任何内容。

最佳答案

您想要检查引荐来源网址:Request::server('HTTP_REFERER')

$request->getHttpHost() 返回您的应用程序正在其上运行的主机名,正如您已经注意到的那样。

也许可以选择X-Forwarded-For标题也考虑在内。

关于php - 如何获取链接您的图像的网站的 URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57681993/

相关文章:

php - docker-compose.yml 环境变量到 php 环境变量

mysql - Laravel 多模块查询

mysql - 我们可以使用 like 运算符并选择查询作为其输入吗?

performance - laravel 响应很慢,加载需要很长时间

laravel - 错误 : Ziggy error: 'id' parameter is required for route

laravel - 在 foreach 循环中访问 FileBag 文件数组

php - 权限不足Google Analytics(分析)

php - 如何在每次执行mysql查询时添加新的html表行

php - 'clean code' 的性能影响

php - 如何从自定义插件访问 wordpress 表