域元验证

时间:2018-11-12 20:30:32

标签: laravel tags meta verify

我在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 name="book" content="verification_token" />

1 个答案:

答案 0 :(得分:0)

您的代码已经在执行什么操作与您想要执行的操作之间没有关联。

一种实现此目的的方法是使用类似file_get_contents()的形式获取URL的内容,这将导致您获取URL的HTML内容。

一旦有了这个,就可以使用DOMXpath之类的东西来解析它并获取meta标签的内容。

$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;
    }
}