HighSpeaker/.history/app/controller/DnsController_20221217224155.php

117 lines
3.1 KiB
PHP
Raw Normal View History

2022-12-18 15:44:03 +05:30
<?php
namespace app\controller;
include_once base_path().'/vendor/laysense/dns/src/resource/ipv6.php';
class DnsController
{
public function PTR($type,$name,$rip,$id,$query)
{
#输出信息
#echo "\n Type:$type \n Domain: $name\n Client IP: $rip \n";
#此处请根据业务需要,通过判断$name和$rip返回正确的数据
$send['detail']='dns.laysense.com';
$send['ttl']=30;
#以下无需更改
$send['type']='PTR';
$send['id']=$id;
$send['query']=$query;
$return=json_encode($send);
return $return;
}
#后续以此类推function名为DNS查询类型
public function A($type,$name,$rip,$id,$query)
{
$send['detail'][1]='119.29.29.29';
$send['detail'][2]='8.8.8.8';
$send['ttl']=30;
$send['type']='A';
$send['id']=$id;
$send['query']=$query;
$return=json_encode($send);
return $return;
}
public function AAAA($type,$name,$rip,$id,$query)
{
$ipv6=new IPv6;
$send['detail'][1]=bin2hex($ipv6->ip2bin("fe80::2c5f")); #此操作可以还原被简化的IPv6地址 协议内不再对IPv6地址进行处理请按照本方式传递16进制无":"的完整16位IPv6
$send['detail'][2]=bin2hex($ipv6->ip2bin("2001:0:2851:b9d0:2c5f:f0d9:21be:4b96"));
$send['ttl']=30;
$send['type']='AAAA';
$send['id']=$id;
$send['query']=$query;
$return=json_encode($send);
return $return;
}
public function NS($type,$name,$rip,$id,$query)
{
$send['detail'][1]='coco.bunny.net';
$send['detail'][2]='kiki.bunny.net';
$send['ttl']=600;
$send['type']='NS';
$send['id']=$id;
$send['query']=$query;
$return=json_encode($send);
return $return;
}
public function CNAME($type,$name,$rip,$id,$query)
{
$send['type']='CNAME';
$send['detail'][1]='baidu.cn';
$send['detail'][2]='baidu.com';
$send['ttl']=600;
$send['type']='CNAME';
$send['id']=$id;
$send['query']=$query;
$return=json_encode($send);
return $return;
}
public function TEXT($type,$name,$rip,$id,$query)
{
$send['detail'][1]='text1-test';
$send['detail'][2]='text2-test';
$send['ttl']=600;
$send['type']='TEXT';
$send['id']=$id;
$send['query']=$query;
$return=json_encode($send);
return $return;
}
public function MX($type,$name,$rip,$id,$query)
{
$send['detail'][1]['name']='mx.zoho.com';
$send['detail'][1]['pre']='20'; #权重
$send['detail'][2]['name']='mx2.zoho.com';
$send['detail'][2]['pre']='30'; #权重
$send['detail'][3]['name']='mx3.zoho.com';
$send['detail'][3]['pre']='50'; #权重
$send['ttl']=600;
$send['type']='MX';
$send['id']=$id;
$send['query']=$query;
$return=json_encode($send);
return $return;
}
}