dns — PHP NSUpdate Обновление строки TXT

Я использую NSUpdate для обновления DNS-записей из PHP

все работает, но что-то идет не так, когда я хочу Обновление / Добавить TXT Record

добавить текстовую запись не так сложно, как SRV О SPF

Нету 🙂

Эта проблема:
пытаясь добавить что-то вроде «Это запись TXT»

после отправки его из PHP в NSUPDATE (работает с другими записями)

Привязать DNS-сервер получить это:
Домен IN TXT «This» «IS» «an» «TXT» «Record»
но это неправильно! проверил мой код, посмотрел arround .. это доцент работы ..

код:

    <?php
if ($txt_true) {
$ttl2 = '36';
// TXT string could be almost anything, just make sure it's quoted.
// $txt_var = str_replace("'", "", $txt_var);
// $txt_var = str_replace('"', "", $txt_var);
//$txt_var = '"'. $txt_var.'"';
$data .= "update add ".$sub.".".$domain.". ".$ttl2." IN TXT ".$txt_var."\n";

}

это идет к NSupdate (data + nsupdate и т. д.). dotn follow блок, который закомментирован

Вот:

function dns_update ($id_domain,$mydata) {
global $nsupdate;

if (domain_exists($id_domain)) {
$infos = domain_infos($id_domain);
$domain = $infos['domain'];
$dnsip = $infos['dnsip'];
$key = $infos['key'];
if ($key != '') { $add = ' -y '.$key; }
$data = "server $dnsip\n";
$data .= "zone $domain\n";
$data .= $mydata;
$data .= "\n";
$result = `echo "$data" | $nsupdate$add`;
return $result;

} else {
return false;
}
}

и цитата TXT Record происходит из

HTML => INPUT => DO => Wirte DB & Функция => NSUPDATE

0

Решение

Вам нужны кавычки вокруг текстовых данных. Если он содержит какие-либо встроенные кавычки, их необходимо экранировать:

$txt_var = str_replace('"', '\"', $txt_var);
$data .= "update add $sub.$domain. $ttl2 IN TXT \"$txt_var\"\n";

Поскольку эта строка содержит двойные кавычки, вы должны использовать одинарные кавычки в echo заявление:

$result = `echo '$data' | $nsupdate$add`;

Однако гораздо лучше было бы использовать API, а не делать это через командную строку. Увидеть Net_DNS2 библиотека.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]