域元验证

Domain Meta Validation

我在 Laravel 上设置了密码。这是在做dns验证,我想验证我想要的meta标签中的特定字段。

示例代码

    public function verifyDomainDns()
{
    $fqdn = sprintf('%s.%s', $this->getVerificationTxtName(), $this->name);
    $results = collect(dns_get_record($fqdn, DNS_TXT));
    $results = $results->where('type', 'TXT')
                       ->where('txt', $this->verification_token);

    $this->domain_verified = $results->isEmpty() ? self::UNVERIFIED : self::VERIFIED;
    $this->save();
}

verification_token 数据库中注册的自动生成号码

我要验证的meta标签。

 <meta name="book" content="verification_token" />

你的代码已经在做什么和你想做什么之间没有关联。

实现此目的的一种方法是使用 file_get_contents() 之类的内容获取 URL 的内容,这将导致您获取 URL 的 HTML 内容=].

有了这个之后,您可以使用 DOMXpath 之类的东西来解析它并获取元标记的内容。

$html = file_get_contents('https://example.com');
$dom = new DomDocument();
$dom->loadHTML($html);
$xpath = new DomXPath($dom);
$contents = $xpath->query('/html/head/meta[@name="book"]/@content');

if ($contents->length === 0) {
    echo 'No tag found';
} else {
    foreach ($contents as $content) {
        echo $content->value;
    }
}