DNS_GET_RECORD 'www'记录?

发布于 2024-09-06 16:14:13 字数 1781 浏览 1 评论 0原文

我正在使用 PHP 脚本,该脚本利用 dns_get_record 来检查域的 A 和 MX 记录。该域名是通过一个简单的表格输入的。但是,我在将“www”添加到域变量时遇到一些问题。

我想添加 www.domain.com 的 A 记录查找。如何添加www?

<?php

$domain = $_POST["Domain"];

$dns = dns_get_record( $domain, DNS_ANY );
foreach( $dns as $d ) {
    // Only print A and MX records
    if( $d['type'] != "A" and $d['type'] != "MX" )
        continue;
    // First print all fields
    echo "For " . $d['host'] . ": <br />\n";
//    foreach( $d as $key => $value ) {
//        if( $key != "host" )    // Don't print host twice
//            echo " {$key}: <b>\n {$value}</b>\n <br />\n";
//     }
    // Print type specific fields
    switch( $d['type'] ) {
        case 'A':
            // Display annoying message
            echo "<b>\n" . $d['ip'] . "</b>\n is the Primary A Record for this domain. <br /><br />\n";
            break;
        case 'MX':
            // Resolve IP address of the mail server
            $mx = dns_get_record( $d['target'], DNS_A );
            foreach( $mx as $server ) {
                echo "The MX record for " . $d['host'] . " points to the server <b>\n" . $d['target'] . "</b>\n whose IP address is <b>\n" . $server['ip'] . "</b>. It has a priority of <b>\n" . $d['pri'] . "</b>\n. <br /><br />\n";
            }
        if ( $d['target'] == $domain ) {
            echo "<i>It looks like the domain is using itself as an MX Record.  You will need to create additional records.</i><br /><br />\n";
                } else {
            echo "<i>This MX Record looks fine.</i><br /><br />\n";
            }
            break;
    }
}

error_reporting(E_ALL);

?>

I am using a PHP script that makes use of dns_get_record to check the A and MX records of domains. The domain is entered via a simple form. However, I'm having some issues adding 'www' to the domain variable.

I would like to add an A Record lookup for www.domain.com. How do I add the www?

<?php

$domain = $_POST["Domain"];

$dns = dns_get_record( $domain, DNS_ANY );
foreach( $dns as $d ) {
    // Only print A and MX records
    if( $d['type'] != "A" and $d['type'] != "MX" )
        continue;
    // First print all fields
    echo "For " . $d['host'] . ": <br />\n";
//    foreach( $d as $key => $value ) {
//        if( $key != "host" )    // Don't print host twice
//            echo " {$key}: <b>\n {$value}</b>\n <br />\n";
//     }
    // Print type specific fields
    switch( $d['type'] ) {
        case 'A':
            // Display annoying message
            echo "<b>\n" . $d['ip'] . "</b>\n is the Primary A Record for this domain. <br /><br />\n";
            break;
        case 'MX':
            // Resolve IP address of the mail server
            $mx = dns_get_record( $d['target'], DNS_A );
            foreach( $mx as $server ) {
                echo "The MX record for " . $d['host'] . " points to the server <b>\n" . $d['target'] . "</b>\n whose IP address is <b>\n" . $server['ip'] . "</b>. It has a priority of <b>\n" . $d['pri'] . "</b>\n. <br /><br />\n";
            }
        if ( $d['target'] == $domain ) {
            echo "<i>It looks like the domain is using itself as an MX Record.  You will need to create additional records.</i><br /><br />\n";
                } else {
            echo "<i>This MX Record looks fine.</i><br /><br />\n";
            }
            break;
    }
}

error_reporting(E_ALL);

?>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

时光病人 2024-09-13 16:14:13

我建议将代码放入一个函数中:

function getDNSRecord($domain) {
$dns = dns_get_record( $domain, DNS_ANY );
foreach( $dns as $d ) {
    // Only print A and MX records
    if( $d['type'] != "A" and $d['type'] != "MX" )
        continue;
    // First print all fields
    echo "For " . $d['host'] . ": <br />\n";
//    foreach( $d as $key => $value ) {
//        if( $key != "host" )    // Don't print host twice
//            echo " {$key}: <b>\n {$value}</b>\n <br />\n";
//     }
    // Print type specific fields
    switch( $d['type'] ) {
        case 'A':
            // Display annoying message
            echo "<b>\n" . $d['ip'] . "</b>\n is the Primary A Record for this domain. <br /><br />\n";
            break;
        case 'MX':
            // Resolve IP address of the mail server
            $mx = dns_get_record( $d['target'], DNS_A );
            foreach( $mx as $server ) {
                echo "The MX record for " . $d['host'] . " points to the server <b>\n" . $d['target'] . "</b>\n whose IP address is <b>\n" . $server['ip'] . "</b>. It has a priority of <b>\n" . $d['pri'] . "</b>\n. <br /><br />\n";
            }
        if ( $d['target'] == $domain ) {
            echo "<i>It looks like the domain is using itself as an MX Record.  You will need to create additional records.</i><br /><br />\n";
                } else {
            echo "<i>This MX Record looks fine.</i><br /><br />\n";
            }
            break;
    }
}
}

然后调用该函数两次:

getDNSRecord($_POST['Domain']);
getDNSRecord('www.'.$_POST['Domain']);

I would suggest putting the code into a function:

function getDNSRecord($domain) {
$dns = dns_get_record( $domain, DNS_ANY );
foreach( $dns as $d ) {
    // Only print A and MX records
    if( $d['type'] != "A" and $d['type'] != "MX" )
        continue;
    // First print all fields
    echo "For " . $d['host'] . ": <br />\n";
//    foreach( $d as $key => $value ) {
//        if( $key != "host" )    // Don't print host twice
//            echo " {$key}: <b>\n {$value}</b>\n <br />\n";
//     }
    // Print type specific fields
    switch( $d['type'] ) {
        case 'A':
            // Display annoying message
            echo "<b>\n" . $d['ip'] . "</b>\n is the Primary A Record for this domain. <br /><br />\n";
            break;
        case 'MX':
            // Resolve IP address of the mail server
            $mx = dns_get_record( $d['target'], DNS_A );
            foreach( $mx as $server ) {
                echo "The MX record for " . $d['host'] . " points to the server <b>\n" . $d['target'] . "</b>\n whose IP address is <b>\n" . $server['ip'] . "</b>. It has a priority of <b>\n" . $d['pri'] . "</b>\n. <br /><br />\n";
            }
        if ( $d['target'] == $domain ) {
            echo "<i>It looks like the domain is using itself as an MX Record.  You will need to create additional records.</i><br /><br />\n";
                } else {
            echo "<i>This MX Record looks fine.</i><br /><br />\n";
            }
            break;
    }
}
}

And then call said function twice:

getDNSRecord($_POST['Domain']);
getDNSRecord('www.'.$_POST['Domain']);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文