域元验证
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;
}
}
我在 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;
}
}