PHP TEXT 字符串的 NSUpdate 更新
PHP NSUpdate Update of an TXT String
iam 使用 NSUpdate 从 PHP
更新 DNS 记录
一切正常,但当我想要时出现问题 update/Add TXT 记录
添加文本记录不像 SRV OF SPF[=50 那样难=]
不 :) rlly
问题:
尝试添加类似 "This IS an TXT record"
的内容
将其从 PHP 发送到 NSUPDATE(与其他记录一起使用)后
绑定 DNS 服务器得到这个:
TXT 中的域"This""IS""an""TXT""Record"
但这是错误的!检查了我的代码,环顾四周..它起作用了..
代码:
<?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(数据 + 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 记录 发生在
HTML => 输入 => 执行 => 写入数据库和函数 => NSUPDATE
您需要在文本数据周围加上引号。如果它包含任何嵌入的引号,则需要对其进行转义:
$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 库。
iam 使用 NSUpdate 从 PHP
更新 DNS 记录一切正常,但当我想要时出现问题 update/Add TXT 记录
添加文本记录不像 SRV OF SPF[=50 那样难=]
不 :) rlly
问题: 尝试添加类似 "This IS an TXT record"
的内容将其从 PHP 发送到 NSUPDATE(与其他记录一起使用)后
绑定 DNS 服务器得到这个: TXT 中的域"This""IS""an""TXT""Record" 但这是错误的!检查了我的代码,环顾四周..它起作用了..
代码:
<?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(数据 + 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 记录 发生在
HTML => 输入 => 执行 => 写入数据库和函数 => NSUPDATE
您需要在文本数据周围加上引号。如果它包含任何嵌入的引号,则需要对其进行转义:
$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 库。