如果自己的服务器也能够实现简记域名就好了。其实这并不复杂。你也可以做一个简记域名系统。

简记域名系统的关键技术在于:实现Web页面的重定向(Redirctory)。在本质上,简记域名系统和虚拟机系统完全不同。虚拟机的虚拟域名和IP是存在一一对应关系的。而简记域名系统不需要将域名和IP做一一映射。也就是说,它根本不需要复杂的域名解析机制和虚拟机来完成,它所做的事情就是当你在请求yourname.somedomain时,将你的浏览器重新定向到你本来存放Html页面的地方。

本程序运行环境是:RedHat 5.1 Linux下的Apache1.3.6 Web服务器+PHP3语言。在编写程序之前,我们首先要设置好我们的服务器。首先要让Apache服务器支持php3。到ftp.redhat.com下载mod_php-2.0.1-9.i386.rpm,安装后,修改/etc/httpd/conf/http.conf文件,去掉#LoadModule php3_module一句前面的#注释号,同样在/etc/httpd/conf/srm.conf文件里去掉#AddType application/x-httpd-php3 .php3前面的注释号,同时在DirectoryIndex一项后添加index.php3。重新启动Apache Server,此时服务器就支持标准的php3语言脚本文件了并能将index.php3作为默认的首页。

设置DNS服务器,使其能对泛域名解析。一般的Unix和Linux系统的DNS解析都是由Bind守护程序完成的,Bind4和Bind8的配置文件分别/etc/named.boot和name.conf,配置时根据你的系统修改。设置Bind的配置文件/etc/named.boot,在其中加入“primary domain.com db.domain”一句,添加一个新的域记录。在/etc/name.conf中加入:

zone "domain.com" {

type master;

file "db.domain”; };

在/var/name/中新建主域记录文件db.domain,其格式为:

N SOA dns.domain.com root.domain.com (

199811291 ;Serial

28800 ;refresh

7200 ;retry

604800 ;expire

86400) ;minimum

dns

MX 10 dns.domain.com.

dns A 202.115.135.50

www A 202.115.135.50

* A 202.115.135.50

关键是最后一句,即将整个域可能出现未做标记的所有Hostname全部指向同一IP。 执行/usr/sbin/ndc reload,重新加载域名数据库。测试一下,此时应该随便ping一个domain域内的主机(除已经标记的),都指向了指定的IP,那么DNS服务器设置完成。

最后一步是编制PHP3脚本。我们刚才已经在图中详细的说明了整个的原理,所以写一个重新定向的程序就不是很难了。

让我们来看一个由IE5.0送出的完整HTTP头信息:

Accept: application/vnd.ms-excel, application/msword, application/vnd.ms-powerpoint,image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*

Accept-Encoding: gzip, deflate

Accept-Language: zh-cn

Connection: Keep-Alive

Host:ww.yahoo.com

User-Agent: Mozilla/4.0 (compatible; MSIE 5.0b1; Windows 98)

我们需要在整个HTTP头信息中取出Host信息,然后将http://www.jj.jx.cn/www.xxx.xxx/default.htm形式的第一部分“www”,即HostName(也即是用户注册的name)单独取出,作为重定向检索的关键字。

检索到用户注册的URL信息后,我们给用户浏览器送一个重定向命令“Localtion: http://www.jj.jx.cn/somewhere/sample.html”,将用户重定向到指定页面。

在PHP3中,有函数GetAllHeader(),取得浏览器送出的HTTP头信息。我们主要需要使用此函数来完成整个程序。

后面附有源程序,由于只是实验性质的,所以在查询用户信息时,没有使用数据库,如果整个系统要实际应用的话,一定要和数据库挂接起来,不然查询用户信息的过程将是十分漫长,大大影响效率,而且用户数据的管理也不方便。

在源程序中,所有用户信息记录在data子目录下user.dat文件中。其格式为:

username:

http://octopus.cdit.edu.cn/~qap213/index.html

附PHP3源程序:

//Get HTTP's Header and parse it//

= getallheaders();

'www.knowsky.com

while (list(, ) = each()) {

if(=="Host"){= strtok(,".");}}

//Jump out the Banner's Window//

echo '

'msg=window.open("banner.htm","sample",

"toolbar=no","directories=no",directories=no","menubar=no");',

'';

// seek the user information from the recorded file//

if(!=file("data/user.dat")){echo "Open Data File Error!!";}

="http://";

for(=0;

if(strtok(,":")==){

=; }

if(=="http://"){echo "not found the uesrname of Data!";}

else{

echo '';}

php域名录入系统课设报告,用PHP编程开发“虚拟域名”系统相关推荐

  1. c语言学生考勤系统课设报告,C语言课程设计总结报告学生考勤系统设计

    C语言课程设计总结报告学生考勤系统设计 C语言程序设计课程设计报告设计题目:学生考勤系统设计专 业 自 动 化 班 级 自 动 化 071 学 生 朱 胜 佳 指导教师 梁 德 胜 2008 年 春季 ...

  2. 【022】Vue+Springboot+mysql汽车销售系统课设(含源码、数据库、运行教程、实验报告)

    文章目录 一.项目介绍 二.运行教程 三.源码及论文获取 一.项目介绍 技术栈:spring-boot.mysql.mybatis-plus.druid连接池.Vue. 本课设除源码.数据库外,还含一 ...

  3. Mysql数据库笔记分享系列--下(内附免费课设报告)

    索引和视图 索引 索引类别 普通索引 唯一性索引 主键索引 全文索引 空间索引 创建索引 1.ALTER TABLE创建索引 #ALTER TABLE用来创建普通索引.UNIQUE索引或PRIMARY ...

  4. c语言学生成绩查询课设报告,C语言课设报告(学生考试成绩查询程序)【荐】.doc...

    C语言课设报告(学生考试成绩查询程序)[荐].doc 学生考试成绩查询程序 学号:******** 姓名:***** 完成日期:****年月 通过键盘输入学生的考试信息,包括:学号.姓名.课程名称.学 ...

  5. 电脑报价管理系统C语言,C语言笔记本电脑销售系统课设(附源码).doc

    PAGE PAGE 1 C语言笔记本电脑销售系统课设 项目说明 本系统基于C语言开发,适用于刚入门的C语言新手项目课设,开发软件采用VC++6.0开发,VS,DEV C++等均可运行.(书生) 项目运 ...

  6. 图书管理系统课设报告(含用例图、通信图、顺序图、状态图、活动图)

    这份报告帮助了很多人完成学业,你值得拥有 下载链接:   图书管理系统课程设计报告.docx_图书管理系统课程设计报告,图书管理系统课设报告-互联网文档类资源-CSDN下载 面向对象的系统分析与设计 ...

  7. 嵌入式计算机课程设计,嵌入式系统设计课设报告.doc

    嵌入式系统设计课设报告.doc 福州大学嵌入式系统设计课设报告书题 目 基于28027的虚拟系统 姓 名 学 号 学 院 电气工程与自动化学院 专 业 电气工程与自动化 年 级 起讫日期 指导教师 目 ...

  8. 数据库课程设计——某煤气公司送气管理系统(附课设报告)

    下面都是我在CSDN发的文章,这算广告???审核你有毛病? 数据库课程设计--某工厂的物料管理系统(附Java源码与课程设计报告) 数据库课程设计--某商店进销存管理系统(附Java源码与课程设计报告 ...

  9. 计算机组成模型计算机课设总结,计算机组成原理课设报告.doc

    计算机组成原理课设报告 计算机组成原理课程设计报告 班级:物联网 1301 班 姓名: 石杰元 学号: 完成时间: 2016/1/10 一.课程设计目的 1.在实验机上设计实现机器指令及对应的微指令( ...

最新文章

  1. IntelliJ IDEA——提交代码到GitHub远程库
  2. python 爬虫002-http与urllib2
  3. 仿minecraft游戏 linux,【图片】【Codea制作仿MineCraft3D游戏】Craft Ver. 0.1发布(开源)【codea吧】_百度贴吧...
  4. linux AB测试
  5. 计算机史话 —— 回车和换行 与 文本文件和二进制文件
  6. Java 多线程详解(四)------生产者和消费者
  7. 【新手可看懂】ubuntu配置appium环境
  8. Teechart图表应用技术详解—第三章之在图表上自行绘制
  9. 巴比特观察 | NFT朋克热潮:CryptoPunks的成功可以复制吗
  10. sip android 客户端,为什么星号无法与android sip客户端正常工作?
  11. splitcontainer控件删除方法
  12. VS2008安装失败,组件安装失败的解决办法
  13. Linux: dnf
  14. zblog小程序模板-青春小程序模板
  15. FTP服务器的上传文件端口为,FTP服务器上传文件时的端口
  16. 权变理论计算机管理理论,现代管理理论的主要学派
  17. php phpunit selenium,PHPUnit和Selenium
  18. 教育公司邮箱申请哪个好?
  19. 【AAAI 2021】跨层知识蒸馏:Cross-Layer Distillation with Semantic Calibration
  20. 如何帮女朋友快速抢到各种票!火车票,演唱会票等!

热门文章

  1. linux操作系统:x86架构,一个良好的运营环境
  2. I.MX6UL 时钟略解
  3. Postfix+dovecot邮件
  4. MySQL细节篇02_modify和change的区别
  5. 机器学习从零到一的基础知识总集篇
  6. HOTPPTer | PPT资源导航 | PPT设计素材导航
  7. Unity 蓝湖 关于UI工作流优化的思考(二)
  8. 国际:程序员V.S.编程语言:你上“贼船”了吗?
  9. 在fragment中引用ListView
  10. 2020-2021 CV算法实习面经(京东/商汤/思谋/依图/图森/字节/腾讯)