One Hat Cyber Team
Your IP :
3.133.106.206
Server IP :
50.28.103.30
Server :
Linux host.jcukjv-lwsites.com 4.18.0-553.22.1.el8_10.x86_64 #1 SMP Tue Sep 24 05:16:59 EDT 2024 x86_64
Server Software :
nginx/1.24.0
PHP Version :
8.3.12
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
www
/
wwwroot
/
ef.electronharmony.com
/
1
/
T4
/
Edit File:
get_preview.php
<?php if (isset($_GET['url'])) { $url = filter_var($_GET['url'], FILTER_SANITIZE_URL); function getWebpageMetadata($url) { $html = @file_get_contents($url); if ($html === FALSE) { return [ 'success' => false ]; } $doc = new DOMDocument(); @$doc->loadHTML($html); $xpath = new DOMXPath($doc); $titleNodes = $xpath->query('//title'); $title = ($titleNodes->length > 0) ? $titleNodes->item(0)->nodeValue : 'Unknown'; $metaDescriptionNodes = $xpath->query('//meta[@name="description"]'); $description = ($metaDescriptionNodes->length > 0) ? $metaDescriptionNodes->item(0)->getAttribute('content') : 'No description available'; $metaKeywordsNodes = $xpath->query('//meta[@name="keywords"]'); $keywords = ($metaKeywordsNodes->length > 0) ? $metaKeywordsNodes->item(0)->getAttribute('content') : 'No keywords available'; $logoNodes = $xpath->query('//meta[@property="og:image"] | //meta[@name="twitter:image"]'); $logo = ''; if ($logoNodes->length > 0) { $logo = $logoNodes->item(0)->getAttribute('content'); } // 如果未获取到 logo,则尝试获取 icon if (empty($logo)) { $iconNodes = $xpath->query('//link[@rel="icon"] | //link[@rel="shortcut icon"]'); if ($iconNodes->length > 0) { $logo = $iconNodes->item(0)->getAttribute('href'); // 处理相对路径 if (!filter_var($logo, FILTER_VALIDATE_URL)) { $parsedUrl = parse_url($url); $logo = $parsedUrl['scheme'] . '://' . $parsedUrl['host'] . '/' . ltrim($logo, '/'); } } } return [ 'success' => true, 'title' => $title, 'logo' => $logo, 'keywords' => $keywords, 'description' => $description ]; } function getCountryFromUrl($url) { $domain = parse_url($url, PHP_URL_HOST); $ip = gethostbyname($domain); $json = @file_get_contents("http://ip-api.com/json/{$ip}"); if ($json === FALSE) { return 'Unknown'; } $data = json_decode($json, true); if ($data && $data['status'] === 'success') { return $data['country']; } else { return 'Unknown'; } } $metadata = getWebpageMetadata($url); if ($metadata['success']) { $metadata['country'] = getCountryFromUrl($url); } else { $metadata['country'] = 'Unknown'; } echo json_encode($metadata); } ?>
Simpan