网管联盟 | 网管论坛 | 网管u家 | 网管博客 | 网管软件 | 网管求职 | 小游戏 | 网管搜索 | 网管原创 | 网管聚合 | 网管读摘 | 网管焦点 | 世界素材 | 会员投稿 | 会员中心 
中国网管联盟
Windows Linux Cisco 网络技术 数据库 黑客攻防 DotNet Java PHP 认证 新闻资讯 服务器 存储资讯 网络设备 网管学堂 技术专题 焦点 网吧频道
 当前位置: > bitsCN.com > PHP > PHP技术进阶 > 玩转虚拟域名◎+.  

玩转虚拟域名◎+.

2006-02-27  作者:bitsCN整理  来源:中国网管联盟  点评 投稿 收藏

玩转虚拟域名

把它EMAIL给我 我来谈谈我的看法 上一篇 下一篇







玩转虚拟域名◎
.



不知道大家最近上网是否发现一个新现象
就是有一些网站开始提供“username@server”的虚拟域名服务。由于“@”的魅力大家纷纷申请你或许会想“如果我也能提供这种服务该多好阿人气肯定不错”本文将给大家揭开“@”的“神秘”面纱让大家都可以来“@Do u @ today? 网管朋友网www_bitscn_net

别急
这个并不是电子邮件的地址是一种虚拟域名不相信的话可以在浏览器中访问“bbs@zphp.com”。部分朋友应该使用过IE的FTP功能就是在浏览器的地址栏中键入“password:username@server”IE就会自动登陆FTP服务器而在Http1.1协议中就规定了Http访问授权功能形式同样为“password:username@server”其中“password:”可以省略也是是访问“bbs@zphp.com”实际上是以bbs的身份访问“zphp.com”这个服务器。

中国网管联盟bitsCN.com



那么我们只是需要将具体的URI传送给PHP程序
在数据库中搜索出真实的URL重定向就可以了。

首先我们需要制作一个传送URI的页面
作为服务器的默认文档一般命名为index.htm在JS的Window对象中就可以实现这项功能下面是index.htm的源代码

<script>

this
.location = ‘gotourl.php?url=+ this.location.href; 中国网管论坛bbs.bitsCN.com

</script>

上面的代码会将浏览器重定向到gotourl
.php并且通过QueryString给变量$url赋值为当前的URI。

成功将URI传递给PHP程序后
就可以进入数据库查找真实URL下面是SQL数据库相对应的table 的结构

CREATE TABLE domain
(

Id
int(3) UNSIGNED DEFAULT ‘0’ NOT NULL, # 域名ID

网管下载dl.bitscn.com



Domain char
(20) NOT NULL, # 域名

Gotourl char
(255) NOT NULL, # 真实的URL

);

建立好了Table
就可以开始编写gotourl.php了程序分为三个部分



1、 分析URL


$url
= preg_replace(/^http:\\/\\//I”, “”, $url); // 将URL前面的“http://”去掉不区分大小写 网管有家bitscn.net

$url
= preg_replace(/@.+$/, “”, $url); // 将“@”后面的部分去除

那么
剩下的URL就只含有“username”的部分了。

为了给数据库应用
需要对铭感的字符进行处理

网管联盟bitsCN_com



$url
= addslashes($url);

2、 搜索真实的URL


这里为了实现程序的通用性
使用了一个数据库的操作类修改自PHPLib来操作SQL数据库

$db
= new dbSql(); // 连接数据库
网管朋友网www_bitscn_net
$queryString
= sprinf(“SELECT gotourl FROM domain WHERE domain=%s’;, $url); // 生成查询字符串

$gotourl
= $db->result($queryString); // 查询取得结果 网管u家bitscn.net

3、 重定向


在PHP中重定向浏览器有多种方法
在这里使用比较简单的HttpHeader来实现

header
(“location: $gotourl”);









其实像网易那样子的“username
.yeah.net”的虚拟域名服务和“@”的实现方法大同小异但是“.”需要以价值200元的DNS泛解析为代价而“@”所需要的仅仅是

网管u家u.bitscn@com



1、 PHP
/SQL数据库的权限

2、 真正DNS解析的域名。



如果需要在虚拟域名服务中加入广告
比如网易的Popup窗口可以将重定向部分改为

<script>

window
.open("url","nease","width=windth,height=height");
网管bitscn_com


</script>



为了对得起“天地良心”
笔者没有将合并后完整的程序加上来骗稿费如果大家比较懒需要完整的代码包括了添加等等可以在http://zphp.com或者http://bbs@zphp.com取得。希望大家都有一个好的访问量。 
TAGs   域名   虚拟   &ldquo   url   可以   需要   数据库   URL   &rdquo   @&rdquo      
 上一篇:在网页上制作360度全景图   下一篇:PHP生成动态WAP页面(三)
玩转虚拟域名◎+. 评论:
loading.. 评论加载中…
评论:请自觉遵守互联网相关政策法规,评论不得超过250字。

验证码: 注册用户
本类热门排行:
最新推荐文章:
网管论坛交流: