php实现ddns,动态域名DDNS实现
利用php重定向功能實(shí)現(xiàn)DDNS。
在openwrt上配置自定義的ddns,定時上報路由器的動態(tài)IP信息
1
將IP信息定時發(fā)送到http://xxx.xxx.net/updateip.php
在服務(wù)器對用戶名和密碼進(jìn)行驗(yàn)證,驗(yàn)證成功后將數(shù)據(jù)庫中的IP信息替換成上報的IP信息:
$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);
// 獲取查詢結(jié)果
$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建立數(shù)據(jù)庫mydns,數(shù)據(jù)表info,三個字段name、pass、ip,都為文本型,新增一條記錄:test,xxx,1.1.1.1
在訪問http://xxx.xxx.net時,利用PHP讀取數(shù)據(jù)庫中的IP信息,重定向到新的IP地址:
$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);
// 獲取查詢結(jié)果
$row=mysql_fetch_row($result);
if($row)
{
header("Location: http://".$row[2]."\n");
}
}
?>
總結(jié)
以上是生活随笔為你收集整理的php实现ddns,动态域名DDNS实现的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 脉冲编码调制pcm matlab,基于M
- 下一篇: 苹果录屏精灵_安卓不仿苹果静音键?千万别