示例#1
0
function axfr($args)
{
    foreach (array("zone", "key-name", "key-type", "key", "server") as $val) {
        if (empty($args[$val])) {
            output_error('Invalid request, "' . $val . '" field is mandatory', 400);
        }
    }
    $r = new Net_DNS2_Resolver(array('nameservers' => array($args['server'])));
    $r->signTSIG($args['key-name'], $args['key'], $args['key-type']);
    $data = resolve($r, $args['zone'], 'AXFR');
    $records = array_map(function ($r) {
        return array('name' => $r->name, 'ttl' => $r->ttl, 'type' => $r->type, 'data' => implode(' ', array_slice(explode(' ', $r), 4)));
    }, $data->answer);
    output(array("records" => $records));
}
                <input name="domain" value="<?php 
        echo $domain;
        ?>
" type="hidden" /> 
                <input name="command" style="font-weight: bold;" value="Delete" type="submit" /> <small><a href="javascript:PrintId('exampleCommand');">View</a>/<a href="javascript:HideId('exampleCommand');">hide</a> example command</small>
            </p>
        </form>
    </div>
    <?php 
        $r = new Net_DNS2_Resolver(array('nameservers' => array(NS1)));
        // add a authenticate the request
        if (AUTH_SIGO != NULL) {
            $r->signSIG0(AUTH_SIGO_NAME, AUTH_SIGO);
        } else {
            if (AUTH_TSIG != NULL) {
                $r->signTSIG(AUTH_TSIG_NAME, AUTH_TSIG);
            }
        }
        try {
            $result = $r->query($domain, 'AXFR');
        } catch (Net_DNS2_Exception $e) {
            echo '<p class="error">Failed: ' . $e->getMessage() . '</p>';
        }
        // Sort object
        sort($result->answer->name);
        ?>
    <form method="get" action="./dnsupdate2.php" name="DynamicDNSUpdate">
        <table border="1" cellpadding="3" cellspacing="0">
            <tr> <td>Action</td> 
                <td width="200">Domain</td> 
                <td width="120">TTL (Time-To-Live)</td>