/** * Parse the robots.txt text file to find the sitemap * * @return string|boolean */ protected function getSitemapUrl() { $request = new Request($this->request->getUrl(), $this->input->getOption('insecure')); $response = $request->get('robots.txt'); $sitemap = new Sitemap(); $sitemap->setRequest($this->request); return $sitemap->getSitemapFromRobotsTxt($response); }
/** * Check for a valid sitemap * * @return void */ public function checkSitemap() { $rows = []; $response = $this->request->get('robots.txt'); $sitemap = new Sitemap(); $sitemap->setRequest($this->request); $sitemapUrl = $sitemap->getSitemapFromRobotsTxt($response); if ($sitemapUrl === false) { $rows[] = ['<span class="fail">Sitemap is not declared in <a href="' . $this->url . 'robots.txt" target="_blank">robots.txt</a></span>']; $sitemapUrl = $this->url . 'sitemap.xml'; } else { $rows[] = ['<span class="pass">Sitemap is declared in <a href="' . $this->url . 'robots.txt" target="_blank">robots.txt</a></span></span>']; } $response = $this->request->get($sitemapUrl); if ($response->getStatusCode() == 200) { $rows[] = ['<span class="pass"><a href="' . $sitemapUrl . '" target="_blank">Sitemap</a> is accessible</span>']; } else { $rows[] = ['<span class="fail"><a href="' . $sitemapUrl . '" target="_blank">Sitemap</a> is not accessible</span>']; } $this->respond(['body' => $rows]); }
/** * Check if a given patch is installed * * @param string $endpoint * * @return integer */ public function check($endpoint) { $request = new Request(self::BASE_URL); $response = $request->get($endpoint . '?s=' . $this->url); return $this->parseResponse($response); }
/** * Download the latest version of magescan * * @param string $filename * * @return void */ protected function downloadLatestVersion($filename) { $request = new Request(self::URL_DOWNLOAD); $response = $request->get(); return file_put_contents($filename, $response->getBody()->getContents()) !== false; }
* @package MageScan * @author Steve Robbins <*****@*****.**> * @copyright 2015 Steve Robbins * @license http://creativecommons.org/licenses/by/4.0/ CC BY 4.0 * @link https://github.com/steverobbins/magescan */ require_once '../vendor/autoload.php'; use MageScan\Url; use MageScan\Request; $suggestUrl = ''; if (isset($_GET['url'])) { $url = $_GET['url']; $magescanUrl = new Url(); $url = $magescanUrl->clean(urldecode($_GET['url'])); $request = new Request($url, false); $response = $request->get($url); $headers = $response->getHeaders(); if (isset($headers['Location'])) { $suggestUrl = $headers['Location']; } $suggestUrl = trim($suggestUrl, '/'); } else { $url = false; } ?> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Mage Scan<?php echo $url ? ' - ' . $url : '';