$_REQUEST['url'] ?? ''], $key)) { header('HTTP/1.1 401 Unauthorized'); exit; } if (!class_exists('WpOrg\Requests\Requests')) { include_once './../../../../wp-includes/Requests/src/Autoload.php'; WpOrg\Requests\Autoload::register(); } // Avoid issues where mbstring.func_overload is enabled. a2wl_mbstring_binary_safe_encoding(); $request_url = !empty($_REQUEST['url']) ? $_REQUEST['url'] : ''; if (base64_encode(base64_decode($request_url, true)) === $request_url) { $request_url = base64_decode($request_url, true); } if ($request_url){ if (substr($request_url, 0, 4) !== "http") { $request_url = "https:" . $request_url; } } $requests_response = Requests::get( $request_url, ['Accept-Encoding' => ''], [ 'timeout' => 30, 'useragent' => 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36', 'verify' => false, 'sslverify' => false, 'verifyname' => false ] ); foreach ($requests_response->headers->getAll() as $name => $values) { if (in_array(strtolower($name), ['content-length', 'content-type', 'cache-control', 'last-modified', 'expires', 'date'])) { foreach ($values as $value) { header("$name: $value"); } } } echo $requests_response->body; } catch (Exception $e) { header('HTTP/1.1 400 Bad Request'); exit; }