forked from William-Sang/ddns
/
index.php
71 lines (57 loc) · 2.02 KB
/
index.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
<?php
/**
* @description : 实现利用DNSPOD动态更改域名指向,可以实现家用拨号上网电脑也可一当作广域网服务器
* @author : sang.williams@gmail.com
* @time : 2013-8-6
*
* @todo :
*
* revision:
* 2013-11-21
* 增加了登录验证
* 修改了换行符
**/
header("Content-type:text/html;charset=utf8");
require_once dirname(__file__).'/lib/conf.php';
require_once dirname(__file__).'/lib/verify.php';
require_once dirname(__file__).'/lib/changeRecord.php';
require_once dirname(__file__).'/lib/getDomainID.php';
require_once dirname(__file__).'/lib/getRecordID.php';
require_once dirname(__file__).'/lib/getPublicIP.php';
require_once dirname(__file__).'/lib/getRecordIP.php';
//验证用户名、密码
if (!verify()) {
echo '登录失败。'.PHP_EOL;
echo ' 可能原因: 用户名、密码错误,登录失败次数太多,API接口调用次数超出限制等'.PHP_EOL;
exit();
}
//获取域名ID
$domain_id = getDomainID(DOMAIN);
if (!$domain_id) {
echo '域名未在DNSPOD添加,请在DNSPOD添加域名。'.PHP_EOL;
exit();
}
//获取RECORD ID
$record_id= getRecordID($domain_id, RECORD);
if (!$record_id) {
echo '您当前还未在DNSPOD建立此record记录,请先前往DNSPOD添加记录。'.PHP_EOL;
exit();
}
$record_ip = getRecordIP($domain_id, RECORD);
//echo '当前record ID 为'.$record_id.PHP_EOL";
echo '当前record IP 为'.$record_ip.PHP_EOL;
//获取当前的广域网IP地址
$ip = getPublicIP();
//判断获取的公网IP地址是否合法
if (!filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4)){
echo '获取的IP地址不是合法的公网IP,获取的IP地址为:'.$ip.PHP_EOL;
exit();
}
echo '当前广域网IP为:'.$ip.PHP_EOL;
//如果当前广域网IP和DNSPOD注册IP不一样,则修改为当前广域网IP
if ($ip != $record_ip) {
echo '更改结果: '.PHP_EOL.changeRecord( $domain_id, $record_id, $ip, RECORD).PHP_EOL;
}else{
echo 'Nothing to do. '.PHP_EOL;
}
?>