3 Star 2 Fork 2

weivote / baotadoma

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
index.php 3.51 KB
一键复制 编辑 原始数据 按行查看 历史
weivote 提交于 2019-08-31 11:32 . 1.0.190831
<?php
/*
站长好工具宝塔管理员必备站长好工具
这个功能应该很实用且和宝塔用户很对口,大部分是站长用得到
公布PHP端供参考(你们可以写python)
A记录:将域名指向一个IPv4地址(例如:10.10.10.10),需要增加A记录
CNAME记录:如果将域名指向一个域名,实现与被指向域名相同的访问效果,需要增加CNAME记录
MX记录:建立电子邮箱服务,将指向邮件服务器地址,需要设置MX记录
NS记录:域名解析服务器记录,如果要将子域名指定某个域名服务器来解析,需要设置NS记录
TXT记录:可任意填写(可为空),通常用做SPF记录(反垃圾邮件)使用
AAAA记录:将主机名(或域名)指向一个IPv6地址(例如:ff03:0:0:0:0:0:0:c1),需要添加AAAA记录
SRV记录:记录了哪台计算机提供了哪个服务。格式为:服务的名字.协议的类型(例如:_example-server._tcp)
*/
class bt_main{
//不允许被面板访问的方法请不要设置为公有方法
//推荐linux平台php5.4-5.6 windows下ngnix apache也正常
// 获取域名
public function getip(){
$domas = $_SERVER['SERVER_NAME']; //暂不知获取方式
if($domas =='null' || $domas ==''){$domas ="yichaxin.com";}
return $domas;
}
public function yichaxin(){
$CACHE = "抱歉:查询不到信息"; //初始提示
$doma = _get('ip'); //获取域名
if(!$doma){ $doma = _post('ip'); }
if(!preg_match("/^[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*(\.[a-z]{2,8})$/i", $doma)) {
return ['state'=>'1001','table'=>$doma];
}
$tipa = _get('dk'); //获取查询类型
if($tipa =='null' || $tipa ==''){ $tipa = _post('dk'); }
$tpli = "|DNS_NS|DNS_A|DNS_AAAA|DNS_MX|DNS_CNAME|DNS_SRV|GETHOSTBYNAME|gethostbyname|";
if(!stristr($tpli,"|{$tipa}|")) {
return ['state'=>'1002','table'=>$tipa];
}
$doma = strtolower($doma); //类型转大写
$tipa = strtoupper($tipa); //域名转小写
//return ['state'=>'1004','doma'=>$doma,'tapa'=>$tipa];
switch ($tipa) {
case "DNS_A":
$CACHE = dns_get_record($doma, DNS_A);
break;
case "DNS_CNAME":
$CACHE = dns_get_record($doma, DNS_CNAME);
break;
case "DNS_MX":
$CACHE = dns_get_record($doma, DNS_MX);
break;
case "DNS_AAAA":
$CACHE = dns_get_record($doma, DNS_AAAA);
break;
case "DNS_NS":
$CACHE = dns_get_record($doma, DNS_NS);
break;
case "DNS_SRV":
$CACHE = dns_get_record($doma, DNS_SRV);
break;
default:
$myip = gethostbyname($doma);
return ['state'=>'1000','table'=>$myip];
break;
}
//$CACHE = dns_get_record($doma);
if($CACHE){
//$CECHE = json_encode($CACHE);
$ii=0; $res = "";
$res .= "<table cellspacing=\"0\" class=\"table\" cellpadding=\"0\">\r\n";
foreach ($CACHE as $keylist){
$ii++;
if($ii==1){
$res .= "<tr class=\"tt\">\r\n";
foreach ($keylist as $key=>$val){
$res .= "<td>$key</td>\r\n";
}
$res .= "</tr>\r\n";
}
$res .= "<tr>\r\n";
foreach ($keylist as $key=>$val){
$res .= "<td>$val</td>\r\n";
}
$res .= "</tr>\r\n";
}
$res .= "</table>\r\n";
if($ii<1){
return ['state'=>'1003'];
} else {
return array('ip' => $doma, 'dk' => $tipa, 'state' => '1000', 'table' => $res);
}
} else {
$myip = gethostbyname($doma);
$tpli = "|DNS_A|DNS_AAAA|DNS_CNAME|GETHOSTBYNAME|gethostbyname|";
if(stristr($tpli,"|{$tipa}|")) {
if($CACHE==$doma){
return ['state'=>'1003'];
}else{
return ['state'=>'1000','table'=>$myip];
}
}else{
return ['state'=>'1005','msg'=>'null'];
}
}
}
}
PHP
1
https://gitee.com/weivote/baotadoma.git
git@gitee.com:weivote/baotadoma.git
weivote
baotadoma
baotadoma
master

搜索帮助