主页 > 建站 > 动态域名DDNS实现

动态域名DDNS实现

2015年4月14日 动态域名DDNS实现无评论 阅读: 12,570 次

利用php重定向功能实现DDNS。

在openwrt上配置自定义的ddns,定时上报路由器的动态IP信息

12

将IP信息定时发送到http://xxx.xxx.net/updateip.php

在服务器对用户名和密码进行验证,验证成功后将数据库中的IP信息替换成上报的IP信息:

<?php
$name=$_GET['name'];
$pass=$_GET['pass'];
$myip=$_GET['myip'];
if($myip)
{
$conn=mysql_connect("localhost", "root", "xxxx");
mysql_query("set names 'utf8' ");
mysql_query("set character_set_client=utf8");
mysql_query("set character_set_results=utf8");

$result=mysql_db_query("mydns", "SELECT * FROM `info` where name='".$name."'", $conn);
// 获取查询结果
$row=mysql_fetch_row($result);
if(!$row)
{
// echo 'user not found';
return;
}
if($row[1]==$pass)
{
$update="UPDATE `info` SET `ip` = '".$myip."' WHERE name = '".$name."'";
$result=mysql_db_query("mydns",$update, $conn);
//echo 'ok|'. $update;
}
else
{
//echo 'pass err';
}

}

?>

先用mysql建立数据库mydns,数据表info,三个字段name、pass、ip,都为文本型,新增一条记录:test,xxx,1.1.1.1

在访问http://xxx.xxx.net时,利用PHP读取数据库中的IP信息,重定向到新的IP地址:

<?PHP
$val=$_SERVER['HTTP_HOST'];

if($val=="xxx.xxx.net")
{
$conn=mysql_connect("localhost", "root", "xxx");
mysql_query("set names 'utf8' ");
mysql_query("set character_set_client=utf8");
mysql_query("set character_set_results=utf8");

$result=mysql_db_query("mydns", "SELECT * FROM `info` where name='test'", $conn);
// 获取查询结果
$row=mysql_fetch_row($result);
if($row)
{
header("Location: http://".$row[2]."\n");
}
}

?>

发表评论

新用户的评论需审核后才会显示;

电子邮件地址不会被公开;
必填项已用*标注