PHP更新本地公网IP到阿里云域名解析,实现DDNS
1 <?php
2 #需要配置的项
3 define('ACCESSKEYID','AAAAAAAAAAAAAAAA'); #阿里云用户密钥ID 获取方法 https://help.aliyun.com/knowledge_detail/38738.html
4 define('ACCESSKEYSECRET','AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA');#阿里云用户密钥
5 define('RR','myhome'); #二级域名的记录名 如果是一级 请用@
6 define('DOMAIN','myhome.baidu.com'); #完整域名
7 define('RECORDID','11111111111111111'); #解析记录ID
8 /*关键如何获取解析记录ID ,需要在下面这个地址中
9 https://api.aliyun.com/?spm=a2c4g.11186623.2.26.79ae2846d9RBBa#/?product=Alidns&api=AddDomainRecord¶ms={}&tab=DEMO&lang=JAVA
10 先设置一个记录(二级域名) 然后返回结果中获取这个ID 添加记录所需的参数文档在下面这里查看
11 https://help.aliyun.com/document_detail/29772.html?spm=a2c4g.11186623.4.3.392b5eb4SAeph9
12
13 /
14
15 define('GET_IP_URL','myip.fireflysoft.net');
16 define('IP_FILE',DIR. DIRECTORY_SEPARATOR .'ip.txt');
17
18 function 获取HTTP($url)
19 {
20 $curl_samples = curl_init();
21 $options = [CURLOPT_URL => $url,CURLOPT_RETURNTRANSFER => 1,CURLOPT_FOLLOWLOCATION => 1,CURLOPT_SSL_VERIFYPEER => 0];
22 curl_setopt_array($curl_samples, $options);
23 curl_setopt($curl_samples, CURLOPT_CUSTOMREQUEST, 'GET');
24 $result = curl_exec($curl_samples);
25 $info = curl_getinfo($curl_samples);
26 $curl_err = curl_errno($curl_samples);
27 curl_close($curl_samples);
28 if( 0 != $curl_err )
29 {
30 echo "getip error:".date('Y-m-d H:i:s',time());
31 var_dump($info);
32 echo PHP_EOL;
33 var_dump($result);
34 echo PHP_EOL;
35 echo $curl_err;
36 echo PHP_EOL;
37 exit;
38 }
39 return $result;
40 }
41
42 function 编码字符($string)
43 {
44 $result = urlencode($string);
45 $result = str_replace(['+', ''], ['%20', '%2A'], $result);
46 $result = preg_replace('/%7E/', '~', $result);
47 return $result;
48 }
49
50 function 排序参数计算签名($parameters,$method="GET")
51 {
52 ksort($parameters);
53 $canonicalizedQuery = '';
54 foreach ($parameters as $key => $value)
55 {
56 $canonicalizedQuery .= '&' . 编码字符($key) . '=' . 编码字符($value);
57 }
58
59 $stringToBeSigned = $method. '&%2F&'. 编码字符(substr($canonicalizedQuery, 1));
60 return base64_encode(hash_hmac('sha1', $stringToBeSigned, ACCESSKEYSECRET . '&', true));
61 }
62
63 function 获取当前的解析记录值()
64 {
65 #请求dns的API重新做解析
66 $api_url = 'https://alidns.aliyuncs.com/?';
67 $data = [];
68 #公共参数
69 $data['Format'] = 'json';
70 $data['Version'] = '2015-01-09';
71 $data['SignatureMethod'] = 'HMAC-SHA1';
72 $data['SignatureNonce'] = uniqid();
73 $data['SignatureVersion']= '1.0';
74 $data['AccessKeyId'] = ACCESSKEYID;
75 $data['Timestamp'] = gmdate("Y-m-d\TH:i:s\Z");
76 #专用参数
77 $data['Action'] = 'DescribeDomainRecordInfo';
78 $data['RecordId'] = RECORDID; #解析记录的ID,此参数在添加解析时会返回,在获取域名解析列表时会返回
79 #签名
80 $data['Signature'] = 排序参数计算签名($data);
81 #请求接口
82 $json = 获取HTTP($api_url . http_build_query($data));
83 $result = json_decode($json,true);
84 return $result['Value'];
85
86 }
87
88 function 主函数()
89 {
90 #获取现在网络的IP
91 $ip = 获取HTTP(GET_IP_URL);
92 #获取现在域名的解析结果 也就是旧的IP
93 $旧IP = 获取当前的解析记录值();
94 #对比新旧IP是否一样
95 if(!isset($旧IP) || $旧IP !== $ip)
96 {
97 #请求dns的API重新做解析
98 $api_url = 'https://alidns.aliyuncs.com/?';
99 $data = [];
100 #公共参数
101 $data['Format'] = 'json';
102 $data['Version'] = '2015-01-09';
103 $data['SignatureMethod'] = 'HMAC-SHA1';
104 $data['SignatureNonce'] = uniqid();
105 $data['SignatureVersion']= '1.0';
106 $data['AccessKeyId'] = ACCESSKEYID;
107 $data['Timestamp'] = gmdate("Y-m-d\TH:i:s\Z");
108 #专用参数
109 $data['Action'] = 'UpdateDomainRecord';
110 $data['RecordId'] = RECORDID; #解析记录的ID,此参数在添加解析时会返回,在获取域名解析列表时会返回
111 $data['RR'] = RR; #主机记录
112 $data['Type'] = 'A';
113 $data['Value'] = $ip;
114 $data['TTL'] = 600;
115 #$data['Priority'] = 10; #MX记录的优先级,取值范围[1,10],记录类型为MX记录时,此参数必须
116 $data['Line'] = 'default';
117 #签名
118 $data['Signature'] = 排序参数计算签名($data);
119 #请求接口
120 $json = 获取HTTP($api_url . http_build_query($data));
121 $result = json_decode($json);
122
123 #完成以后
124 if(isset($result->RecordId)){
125 file_put_contents(IP_FILE,$ip);
126 }else{
127 echo 'error';
128 var_dump($result);
129 }
130 }else
131 {
132 echo 'IP没有发生变化,不需要修改解析记录';
133 }
134 }
135 主函数();
http://blog.sae.sina.com.cn/?s=塔什库尔干塔吉克自治县��39廊一条街洗头房价格【148.122.66VX�9
http://blog.sae.sina.com.cn/?s=塔什库尔干塔吉克自治县附��39哪有红灯一条街品茶【148.122.66VX�9
http://blog.sae.sina.com.cn/?s=塔什库尔干塔吉克自治县特殊全套服务女带大活【148.122.66VX�9
http://blog.sae.sina.com.cn/?s=塔什库尔干塔吉克自治县校鸡店野鸡街站街女妹【148.122.66VX�9
http://blog.sae.sina.com.cn/?s=塔什库尔干塔吉克自治县找小妹半套技师大保健【148.122.66VX�9
http://blog.sae.sina.com.cn/?s=塔什库尔干塔吉克自治县不正规卫校过夜小妹子【148.122.66VX�9
http://blog.sae.sina.com.cn/?s=塔什库尔干塔吉克自治县学院女生红灯街推油半套【148.122.66VX�9
http://blog.sae.sina.com.cn/?s=塔什库尔干塔吉克自治县约妹附��39鸡漂亮上门出台【148.122.66VX�9
http://blog.sae.sina.com.cn/?s=塔什库尔干塔吉克自治县服务护士��39妇空姐艺人【148.122.66VX�9
http://blog.sae.sina.com.cn/?s=塔什库尔干塔吉克自治县大学生车模洗脚模特沐足【148.122.66VX�9
http://blog.sae.sina.com.cn/?s=塔什库尔干塔吉克自治县飞机包吹鸡店巷女一夜情【148.122.66VX�9
http://blog.sae.sina.com.cn/?s=塔什库尔干塔吉克自治县小姐学生妹按�39�保健服务【148.122.66VX�9
http://blog.sae.sina.com.cn/?s=塔什库尔干塔吉克自治县找服务上门过夜全套推油【148.122.66VX�9
http://blog.sae.sina.com.cn/?s=塔什库尔干塔吉克自治县找酒店漂亮上门按�39�【148.122.66VX�9
http://blog.sae.sina.com.cn/?s=塔什库尔干塔吉克自治县婊子大保健服务联系方式【148.122.66VX�9
http://blog.sae.sina.com.cn/?s=焉耆回族自治县洗浴荤场美女兼职上门【148.122.66VX�9
http://blog.sae.sina.com.cn/?s=焉耆回族自治县足疗一条街保健按�39�店【148.122.66VX�9
http://blog.sae.sina.com.cn/?s=焉耆回族自治县包夜一夜情特殊服务吹【148.122.66VX�9
http://blog.sae.sina.com.cn/?s=焉耆回族自治县包月站街女微信��39拿酒店【148.122.66VX�9
http://blog.sae.sina.com.cn/?s=焉耆回族自治县找服务电话援交一条龙【148.122.66VX�9
http://blog.sae.sina.com.cn/?s=焉耆回族自治县SPA会所哪里有全套服务【148.122.66VX�9
http://blog.sae.sina.com.cn/?s=焉耆回族自治县找妹子水疗学生妓��39廊【148.122.66VX�9
http://blog.sae.sina.com.cn/?s=焉耆回族自治县��39廊一条街洗头房价格【148.122.66VX�9
http://blog.sae.sina.com.cn/?s=焉耆回族自治县附��39哪有红灯一条街品茶【148.122.66VX�9
http://blog.sae.sina.com.cn/?s=焉耆回族自治县特殊全套服务女带大活【148.122.66VX�9
http://blog.sae.sina.com.cn/?s=焉耆回族自治县校鸡店野鸡街站街女妹【148.122.66VX�9
http://blog.sae.sina.com.cn/?s=焉耆回族自治县找小妹半套技师大保健【148.122.66VX�9
http://blog.sae.sina.com.cn/?s=焉耆回族自治县不正规卫校过夜小妹子【148.122.66VX�9
http://blog.sae.sina.com.cn/?s=焉耆回族自治县学院女生红灯街推油半套【148.122.66VX�9
http://blog.sae.sina.com.cn/?s=焉耆回族自治县约妹附��39鸡漂亮上门出台【148.122.66VX�9
http://blog.sae.sina.com.cn/?s=焉耆回族自治县服务护士��39妇空姐艺人【148.122.66VX�9
http://blog.sae.sina.com.cn/?s=焉耆回族自治县大学生车模洗脚模特沐足【148.122.66VX�9
http://blog.sae.sina.com.cn/?s=焉耆回族自治县飞机包吹鸡店巷女一夜情【148.122.66VX�9
http://blog.sae.sina.com.cn/?s=焉耆回族自治县小姐学生妹按�39�保健服务【148.122.66VX�9
http://blog.sae.sina.com.cn/?s=焉耆回族自治县找服务上门过夜全套推油【148.122.66VX�9
http://blog.sae.sina.com.cn/?s=焉耆回族自治县找酒店漂亮上门按�39�【148.122.66VX�9
http://blog.sae.sina.com.cn/?s=焉耆回族自治县婊子大保健服务联系方式【148.122.66VX�9
http://blog.sae.sina.com.cn/?s=察布查尔锡伯自治县洗浴荤场美女兼职上门【148.122.66VX�9
http://blog.sae.sina.com.cn/?s=察布查尔锡伯自治县足疗一条街保健按�39�店【148.122.66VX�9
http://blog.sae.sina.com.cn/?s=察布查尔锡伯自治县包夜一夜情特殊服务吹【148.122.66VX�9
http://blog.sae.sina.com.cn/?s=察布查尔锡伯自治县包月站街女微信��39拿酒店【148.122.66VX�9
http://blog.sae.sina.com.cn/?s=察布查尔锡伯自治县找服务电话援交一条龙【148.122.66VX�9
http://blog.sae.sina.com.cn/?s=察布查尔锡伯自治县SPA会所哪里有全套服务【148.122.66VX�9
http://blog.sae.sina.com.cn/?s=察布查尔锡伯自治县找妹子水疗学生妓��39廊【148.122.66VX�9
http://blog.sae.sina.com.cn/?s=察布查尔锡伯自治县��39廊一条街洗头房价格【148.122.66VX�9
http://blog.sae.sina.com.cn/?s=察布查尔锡伯自治县附��39哪有红灯一条街品茶【148.122.66VX�9
http://blog.sae.sina.com.cn/?s=察布查尔锡伯自治县特殊全套服务女带大活【148.122.66VX�9
http://blog.sae.sina.com.cn/?s=察布查尔锡伯自治县校鸡店野鸡街站街女妹【148.122.66VX�9
http://blog.sae.sina.com.cn/?s=察布查尔锡伯自治县找小妹半套技师大保健【148.122.66VX�9
http://blog.sae.sina.com.cn/?s=察布查尔锡伯自治县不正规卫校过夜小妹子【148.122.66VX�9
http://blog.sae.sina.com.cn/?s=察布查尔锡伯自治县学院女生红灯街推油半套【148.122.66VX�9
http://blog.sae.sina.com.cn/?s=察布查尔锡伯自治县约妹附��39鸡漂亮上门出台【148.122.66VX�9
http://blog.sae.sina.com.cn/?s=察布查尔锡伯自治县服务护士��39妇空姐艺人【148.122.66VX�9
http://blog.sae.sina.com.cn/?s=察布查尔锡伯自治县大学生车模洗脚模特沐足【148.122.66VX�9
http://blog.sae.sina.com.cn/?s=察布查尔锡伯自治县飞机包吹鸡店巷女一夜情【148.122.66VX�9
http://blog.sae.sina.com.cn/?s=察布查尔锡伯自治县小姐学生妹按�39�保健服务【148.122.66VX�9
http://blog.sae.sina.com.cn/?s=察布查尔锡伯自治县找服务上门过夜全套推油【148.122.66VX�9
http://blog.sae.sina.com.cn/?s=察布查尔锡伯自治县找酒店漂亮上门按�39�【148.122.66VX�9
http://blog.sae.sina.com.cn/?s=察布查尔锡伯自治县婊子大保健服务联系方式【148.122.66VX�9
http://blog.sae.sina.com.cn/?s=木垒哈萨克自治县洗浴荤场美女兼职上门【148.122.66VX�9
http://blog.sae.sina.com.cn/?s=木垒哈萨克自治县足疗一条街保健按�39�店【148.122.66VX�9
http://blog.sae.sina.com.cn/?s=木垒哈萨克自治县包夜一夜情特殊服务吹【148.122.66VX�9
http://blog.sae.sina.com.cn/?s=木垒哈萨克自治县包月站街女微信��39拿酒店【148.122.66VX�9
http://blog.sae.sina.com.cn/?s=木垒哈萨克自治县找服务电话援交一条龙【148.122.66VX�9
http://blog.sae.sina.com.cn/?s=木垒哈萨克自治县SPA会所哪里有全套服务【148.122.66VX�9
http://blog.sae.sina.com.cn/?s=木垒哈萨克自治县找妹子水疗学生妓��39廊【148.122.66VX�9
http://blog.sae.sina.com.cn/?s=木垒哈萨克自治县��39廊一条街洗头房价格【148.122.66VX�9
http://blog.sae.sina.com.cn/?s=木垒哈萨克自治县附��39哪有红灯一条街品茶【148.122.66VX�9
http://blog.sae.sina.com.cn/?s=木垒哈萨克自治县特殊全套服务女带大活【148.122.66VX�9
http://blog.sae.sina.com.cn/?s=木垒哈萨克自治县校鸡店野鸡街站街女妹【148.122.66VX�9
http://blog.sae.sina.com.cn/?s=木垒哈萨克自治县找小妹半套技师大保健【148.122.66VX�9
http://blog.sae.sina.com.cn/?s=木垒哈萨克自治县不正规卫校过夜小妹子【148.122.66VX�9
http://blog.sae.sina.com.cn/?s=木垒哈萨克自治县学院女生红灯街推油半套【148.122.66VX�9
http://blog.sae.sina.com.cn/?s=木垒哈萨克自治县约妹附��39鸡漂亮上门出台【148.122.66VX�9
http://blog.sae.sina.com.cn/?s=木垒哈萨克自治县服务护士��39妇空姐艺人【148.122.66VX�9
http://blog.sae.sina.com.cn/?s=木垒哈萨克自治县大学生车模洗脚模特沐足【148.122.66VX�9
http://blog.sae.sina.com.cn/?s=木垒哈萨克自治县飞机包吹鸡店巷女一夜情【148.122.66VX�9
http://blog.sae.sina.com.cn/?s=木垒哈萨克自治县小姐学生妹按�39�保健服务【148.122.66VX�9
http://blog.sae.sina.com.cn/?s=木垒哈萨克自治县找服务上门过夜全套推油【148.122.66VX�9
http://blog.sae.sina.com.cn/?s=木垒哈萨克自治县找酒店漂亮上门按�39�【148.122.66VX�9
http://blog.sae.sina.com.cn/?s=木垒哈萨克自治县婊子大保健服务联系方式【148.122.66VX�9
http://blog.sae.sina.com.cn/?s=和布克赛尔蒙古自治县洗浴荤场美女兼职上门【148.122.66VX�9
http://blog.sae.sina.com.cn/?s=和布克赛尔蒙古自治县足疗一条街保健按�39�店【148.122.66VX�9
http://blog.sae.sina.com.cn/?s=和布克赛尔蒙古自治县包夜一夜情特殊服务吹【148.122.66VX�9
http://blog.sae.sina.com.cn/?s=和布克赛尔蒙古自治县包月站街女微信��39拿酒店【148.122.66VX�9
http://blog.sae.sina.com.cn/?s=和布克赛尔蒙古自治县找服务电话援交一条龙【148.122.66VX�9
http://blog.sae.sina.com.cn/?s=和布克赛尔蒙古自治县SPA会所哪里有全套服务【148.122.66VX�9
http://blog.sae.sina.com.cn/?s=和布克赛尔蒙古自治县找妹子水疗学生妓��39廊【148.122.66VX�9
http://blog.sae.sina.com.cn/?s=和布克赛尔蒙古自治县��39廊一条街洗头房价格【148.122.66VX�9
http://blog.sae.sina.com.cn/?s=和布克赛尔蒙古自治县附��39哪有红灯一条街品茶【148.122.66VX�9
http://blog.sae.sina.com.cn/?s=和布克赛尔蒙古自治县特殊全套服务女带大活【148.122.66VX�9