ソースを参照

remove that thing

lolcat 11 ヶ月 前
コミット
d4aaebcd80
1 ファイル変更0 行追加144 行削除
  1. 0 144
      lib/bingcache-todo-fix.php

+ 0 - 144
lib/bingcache-todo-fix.php

@@ -1,144 +0,0 @@
-<?php
-
-// https://www.bing.com/search?q=url%3Ahttps%3A%2F%2Flolcat.ca
-// https://cc.bingj.com/cache.aspx?q=url%3ahttps%3a%2f%2flolcat.ca&d=4769685974291356&mkt=en-CA&setlang=en-US&w=tEsWuE7HW3Z5AIPQMVkDH4WaotS4LrK-
-// <div class="b_attribution" u="0N|5119|4769685974291356|tEsWuE7HW3Z5AIPQMVkDH4WaotS4LrK-" tabindex="0">
-
-new bingcache();
-
-class bingcache{
-	
-	public function __construct(){
-		
-		if(
-			!isset($_GET["s"]) ||
-			$this->validate_url($_GET["s"]) === false
-		){
-			
-			var_dump($this->validate_url($_GET["s"]));
-			$this->do404("Please provide a valid URL.");
-		}
-		
-		$url = $_GET["s"];
-		
-		$curlproc = curl_init();
-		
-		curl_setopt(
-			$curlproc,
-			CURLOPT_URL,
-			"https://www.bing.com/search?q=url%3A" .
-			urlencode($url)
-		);
-		
-		curl_setopt($curlproc, CURLOPT_ENCODING, ""); // default encoding
-		curl_setopt(
-			$curlproc,
-			CURLOPT_HTTPHEADER,
-			["User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:107.0) Gecko/20100101 Firefox/107.0",
-			"Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8",
-			"Accept-Language: en-US,en;q=0.5",
-			"Accept-Encoding: gzip",
-			"DNT: 1",
-			"Connection: keep-alive",
-			"Upgrade-Insecure-Requests: 1",
-			"Sec-Fetch-Dest: document",
-			"Sec-Fetch-Mode: navigate",
-			"Sec-Fetch-Site: none",
-			"Sec-Fetch-User: ?1"]
-		);
-		
-		curl_setopt($curlproc, CURLOPT_RETURNTRANSFER, true);
-		curl_setopt($curlproc, CURLOPT_SSL_VERIFYHOST, 2);
-		curl_setopt($curlproc, CURLOPT_SSL_VERIFYPEER, true);
-		curl_setopt($curlproc, CURLOPT_CONNECTTIMEOUT, 5);
-		
-		$data = curl_exec($curlproc);
-		
-		if(curl_errno($curlproc)){
-			
-			$this->do404("Failed to connect to bing servers. Please try again later.");
-		}
-		
-		curl_close($curlproc);
-		
-		preg_match(
-			'/<div class="b_attribution" u="(.*)" tabindex="0">/',
-			$data,
-			$keys
-		);
-		
-		print_r($keys);
-		
-		if(count($keys) === 0){
-			
-			$this->do404("Bing has not archived this URL.");
-		}
-		
-		$keys = explode("|", $keys[1]);
-		$count = count($keys);
-		
-		//header("Location: https://cc.bingj.com/cache.aspx?d=" . $keys[$count - 2] . "&w=" . $keys[$count - 1]);
-		echo("Location: https://cc.bingj.com/cache.aspx?d=" . $keys[$count - 2] . "&w=" . $keys[$count - 1]);
-	}
-	
-	public function do404($text){
-				
-		include "lib/frontend.php";
-		$frontend = new frontend();
-		
-		echo
-			$frontend->load(
-				"error.html",
-				[
-					"title" => "Shit",
-					"text" => $text
-				]
-			);
-		
-		die();
-	}
-	
-	public function validate_url($url){
-		
-		$url_parts = parse_url($url);
-		
-		// check if required parts are there
-		if(
-			!isset($url_parts["scheme"]) ||
-			!(
-				$url_parts["scheme"] == "http" ||
-				$url_parts["scheme"] == "https"
-			) ||
-			!isset($url_parts["host"])
-		){
-			return false;
-		}
-		
-		if(
-			// if its not an RFC-valid URL
-			!filter_var($url, FILTER_VALIDATE_URL)
-		){
-			return false;
-		}
-		
-		$ip = 
-			str_replace(
-				["[", "]"], // handle ipv6
-				"",
-				$url_parts["host"]
-			);
-		
-		// if its not an IP
-		if(!filter_var($ip, FILTER_VALIDATE_IP)){
-			
-			// resolve domain's IP
-			$ip = gethostbyname($url_parts["host"] . ".");
-		}
-		
-		// check if its localhost
-		return filter_var(
-			$ip,
-			FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE
-		);
-	}
-}