Доброе утро.Я заканчиваю упражнение из книги Дуга Бьерера, и результатом глубокого веб-сканера является пустая страница.Автозагрузка работает.Я не могу найти проблему.Может кто-нибудь помочь мне определить, что я делаю неправильно?
Chap_01_deep_scan_website.php:
<?php
require __DIR__ . '/Application/Autoload/Loader.php';
Application\Autoload\Loader::init(__DIR__ . '');
$deep = new Application\Web\Deep();
define('DEFAULT_URL', 'oreilly.com');
define('DEFAULT_TAG', 'img');
$url = strip_tags($_GET['url'] ?? DEFAULT_URL);
$tag = strip_tags($_GET['tag'] ?? DEFAULT_TAG);
?>
<!DOCTYPE html>
<head>
<title>Deep Web Scan</title>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
</head>
<body>
<?php
foreach ($deep->scan($url, $tag) as $item) {
$src = $item['attributes']['src'] ?? NULL;
if($src && (stripos($src, 'png') || stripos($src, 'jpg'))) {
printf('<br>1<img src="%s"/>', $src);
}
}
?>
</body>
</html>
Deep.php:
namespace Application\Web;
class Deep {
protected $domain;
public function getDomain($url) {
if(!$this->domain) {
$this->domain = parse_url($url, PHP_URL_HOST);
}
return $this->domain;
}
public function scan($url, $tag) {
$vac = new Hoover();
$scan = $vac->getAttribute($url, 'href',$this->getDomain($url));
$result = array();
foreach($scan as $subSite) {
yield from $vac->getTags($subSite, $tag);
}
return count($scan);
}
}