电脑安全

您当前的位置:主页 > 电脑安全 >

玩转虚拟域名◎+ .-网络编程

来源:[db:来源]标题:   数据库    编辑:电脑技术全能网 时间:2019-09-23 12:33

原标题:玩转虚拟域名◎+ .-网络编程
   玩转虚构域名◎+ . 不晓得各人近来上彀能否发觉一个新景象,就是有一些网站开端供给“username@server”的虚构域名效劳。因为“@”的魅力,各人纷纭请求,你或者会想:“假如我也能供给这类效劳,该多好阿:)人气确定不错!”本文将给各人揭开“@”的“神奇”面纱,让各人都能够来“@”!(Do u @ today?) 别急,这个并不是电子邮件的地点,是一种虚构域名,不信任的话能够在扫瞄器中拜访“bbs@zphp.com”。局部友人应当应用过IE的FTP功效,就是在扫瞄器的地点栏中键入“password:username@server”IE就会主动登岸FTP效劳器;而在Http1.1协定中,就划定了Http拜访受权功效,情势一样为“password:username@server”,此中“password:”能够省略,也是是拜访“bbs@zphp.com”现实上是以bbs的身份拜访“zphp.com”这个效劳器。 那末咱们只是须要将详细的URI传递给PHP顺序,在数据库中搜寻出实在的URL重定向便可以了。 起首咱们须要制造一个传递URI的页面(作为效劳器的默许文档,个别定名为index.htm);在JS的Window工具中便可以完成这项功效,上面是index.htm的源代码: <script> this.location = ‘gotourl.php?url=' + this.location.href; </script> 下面的代码会将扫瞄重视定向到gotourl.php,而且经过QueryString给变量$url赋值为以后的URI。 胜利将URI通报给PHP顺序后,便可以进入数据库查找实在URL,上面是SQL数据库绝对应的table 的构造: CREATE TABLE domain( Id int(3) UNSIGNED DEFAULT ‘0' NOT NULL, # 域名ID Domain char(20) NOT NULL, # 域名 Gotourl char(255) NOT NULL, # 实在的URL ); 树立好了Table,便可以开端编写gotourl.php了,顺序分为三个局部: 1、 剖析URL: $url = preg_replace(“/^http:///////I”, “”, $url); // 将URL后面的“http://”去掉,不辨别巨细写 $url = preg_replace(“/@.+$/”, “”, $url); // 将“@”前面的局部去除 那末,剩下的URL就只含有“username”的局部了。 为了给数据库利用,须要对铭感的字符停止处置: $url = addslashes($url); 2、 搜寻实在的URL: 这里为了完成顺序的通用性,应用了一个数据库的操纵类(修正自PHPLib)来操纵SQL数据库: $db = new dbSql(); // 衔接数据库 $queryString = sprinf(“SELECT gotourl FROM domain WHERE domain='%s';”, $url); // 天生查问字符串 $gotourl = $db->result($queryString); // 查问获得成果 3、 重定向: 在PHP中重定向扫瞄器有多种方式,在这里应用比拟简略的HttpHeader来完成: header(“location: $gotourl”); 附 实在像网易那模样的“username.yeah.net”的虚构域名效劳和“@”的完成方式大同小异,然而“.”须要以代价200元的DNS泛剖析为价值,而“@”所须要的仅仅是: 1、 PHP/SQL数据库的权限; 2、 真正DNS剖析的域名。 假如须要在虚构域名效劳中参加告白,比方网易的Popup窗口,能够将重定向局部改成: <script> window.open("url","nease","width=windth,height=height"); </script> 为了对得起“寰宇良知”,笔者没有将兼并后完全的顺序加下去(骗稿费?),假如各人比拟懒,须要完全的代码(包含了增加等等),能够在http://zphp.com或许http://bbs@zphp.com获得。盼望各人都有一个好的拜访量。