X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FModule%2FProxy.php;h=419289c39f6e2927b57871c20abec77e89d39880;hb=6dbbd081795fa1c8fe57db2248ac162efeeada88;hp=04fe00db1248a8ed07e726c525b256f9b75986a7;hpb=266ee26240a1717a55ae5d33bcd02cc9098af7a8;p=friendica.git diff --git a/src/Module/Proxy.php b/src/Module/Proxy.php index 04fe00db12..419289c39f 100644 --- a/src/Module/Proxy.php +++ b/src/Module/Proxy.php @@ -1,6 +1,6 @@ getRequestInfo(); + + if (!DI::config()->get('system', 'proxify_content')) { + Logger::notice('Proxy access is forbidden', ['request' => $request, 'agent' => $_SERVER['HTTP_USER_AGENT'] ?? '', 'accept' => $_SERVER['HTTP_ACCEPT'] ?? '']); + throw new \Friendica\Network\HTTPException\NotFoundException(); + } + if (isset($_SERVER["HTTP_IF_MODIFIED_SINCE"])) { - header("HTTP/1.1 304 Not Modified"); header("Last-Modified: " . gmdate("D, d M Y H:i:s", time()) . " GMT"); if (!empty($_SERVER["HTTP_IF_NONE_MATCH"])) { header("Etag: " . $_SERVER["HTTP_IF_NONE_MATCH"]); @@ -57,11 +65,9 @@ class Proxy extends BaseModule header_remove("Expires"); header_remove("Cache-Control"); } - exit; + throw new NotModifiedException(); } - $request = self::getRequestInfo($parameters); - if (empty($request['url'])) { throw new \Friendica\Network\HTTPException\BadRequestException(); } @@ -75,7 +81,7 @@ class Proxy extends BaseModule $request['url'] = str_replace(' ', '+', $request['url']); // Fetch the content with the local user - $fetchResult = HTTPSignature::fetchRaw($request['url'], local_user(), ['accept_content' => '', 'timeout' => 10]); + $fetchResult = HTTPSignature::fetchRaw($request['url'], local_user(), ['accept_content' => [], 'timeout' => 10]); $img_str = $fetchResult->getBody(); if (!$fetchResult->isSuccess() || empty($img_str)) { @@ -113,13 +119,13 @@ class Proxy extends BaseModule * ] * @throws \Exception */ - private static function getRequestInfo(array $parameters) + private function getRequestInfo() { $size = ProxyUtils::PIXEL_LARGE; $sizetype = ''; - if (!empty($parameters['url']) && empty($_REQUEST['url'])) { - $url = $parameters['url']; + if (!empty($this->parameters['url']) && empty($_REQUEST['url'])) { + $url = $this->parameters['url']; // thumb, small, medium and large. if (substr($url, -6) == ':micro') {