您如何获得链接图像的网站的网址?

时间:2019-08-27 20:41:55

标签: 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();
        }
    }

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

1 个答案:

答案 0 :(得分:1)

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

$request->getHttpHost()返回您正在运行的应用程序的主机名。

也许也考虑到X-Forwarded-For标头。