利用泛解析实现二级域名原理以及程序- -
                                      

要达到二级名的效果,必须一下条件以及流程:
1、必须有一个顶级域名,而且此域名必须做好泛解析并做好指向。
2、必须有一台独立的服务器。泛解析的域名指向该服务器。
3、在服务器上的IIS建一个空的主机头名的web站点。
4、将默认的页面设置为你的二机解析程序(比如:freedns.asp)
5、二级域名系列程序(包括申请页:shenqing.htm,添加页add.asp,解析页,)


此程序的优点:
a,可以限制申请域名的敏感字,比如 hacker,wwww,sex,china等
b, 可以限制申请域名的非法字,比如:!·#¥%……—*()——?‘“/等
c, 每个地址只能申请一个域名。
d,限制申请域名的长度,
e, 如果用户所访问的域名没人申请则转到特定的页面,本例中的http://www.***.com/miss.html
f, 申请了域名:***.yourname.com 可以同时支持:http://***.yourname.com 以及http://www.***.youranme.com 两个域名的访问。


一下为系列程序代码:

shenqing.htm

< form action = adddns.asp method = post name = Frm onSubmit = " return check_input() " >   < br >         & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; < font color = red > * 号为必填内容 </ font >                    < br >
       您想注册的域名:           
                      http:
// <input  name="nowurl" size=12           
                                style = "  BORDER-BOTTOM: 1px double; BORDER-LEFT: 1px double; BORDER-RIGHT: 1px double; BORDER-TOP: 1px double; COLOR: #000000; FONT-SIZE: 9pt " >  . *** .com        
               
< br >

你实际的网站地址:
      
< input  name = " tourl "  size = 12            
                                style
= "  BORDER-BOTTOM: 1px double; BORDER-LEFT: 1px double; BORDER-RIGHT: 1px double; BORDER-TOP: 1px double; COLOR: #000000; FONT-SIZE: 9pt " >

你要求显示的title:
    
< input  name = " company "  size = 12            
                                style
= "  BORDER-BOTTOM: 1px double; BORDER-LEFT: 1px double; BORDER-RIGHT: 1px double; BORDER-TOP: 1px double; COLOR: #000000; FONT-SIZE: 9pt " >



< br >
          
< input type = " submit "  name = " Submit "  value = "  提 交 信 息  "  style = " border:1px double rgb(88,88,88);font:9pt " >
             
          
< input type = " reset "  name = " Reset "  value = "  重 新 填 写  "  style = " border:1px double rgb(88,88,88);font:9pt " >
          
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; </ p >
      
</ form >

 
 添加记录页面add.asp

<!-- #include file = " char.inc " -->
<!-- #include file = " conn.asp " -->
<%
uID
= request.cookies( " ***** " )
%>

<%
   dim nowurl,tourl,company,along,pbkey
   nowurl
= trim(request.form( " nowurl " )) + " .***.com "
   nurl
= trim(request.form( " nowurl " ))
   tourl
= trim(request.form( " tourl "
))
   company
= trim(request.form( " company "
))
   along
= 20

   pbkey
= " www,sex,admin,w,ww,wwww,hacker,hack "


   set rs
= server.createobject( " adodb.recordset " )
   sql
= " select * from dns where userid=' " & uid & " ' "

   rs.open sql,conn,
1 , 1
   
if  not rs.EOF then
   response.write
" 很抱歉,你已经申请过二级域名,每个用户只能申请一个二级域名!<br>你申请的二级域名是:http:// " + rs( " nowurl "
)
   response.end
   end 
if



   set rs
= server.createobject( " adodb.recordset " )
   sql
= " select * from dns where nowurl=' " & nowurl & " ' "

   rs.open sql,conn,
1 , 1
   
if  not rs.eof then
   response.write
" 很抱歉,你申请的域名:http:// " + nowurl + " 已经被其他公司申请,请另外申请域名。 "

   response.end
   end 
if
  
   
if  len(nurl) > along then
   response.write
" 很抱歉,你输入的域名太长,请重新输入 "

   response.end 
   end 
if

   
if  instr(pbkey,nurl) then
   response.write
" 很抱歉,你输入的域名因为含有敏感字而不管理员屏蔽,请重新输入。 "

   response.end
   end 
if

' 判断字符的合法性
if  instr(nurl, " ~ " ) or instr(nurl, " ` " ) or instr(nurl, " / " ) or instr(nurl, " ? " ) or instr(nurl, " > " ) or instr(nurl, " < " ) or instr(nurl, " ; " ) or instr(nurl, " : " ) or instr(nurl, " } " ) or instr(nurl, " { " ) or instr(nurl, " ) " ) or instr(nurl, " ( " ) or instr(nurl, " * " ) or instr(nurl, " & " ) or instr(nurl, " ^ " ) or instr(nurl, " % " ) or instr(nurl, " . " ) or instr(nurl, " , " ) or instr(nurl, " ' " ) or instr(nurl, " ~ " ) or instr(nurl, " ! " ) or instr(nurl, " $ " ) then
   response.write
" 很抱歉,你输入的域名含有非法字符,请重新输入,以下字符为非法字符:<br>~ ` / ? > < ; : } { ) ( * & ^ % $ # @ !   "

   response.end
end 
if


   set rs
= server.createobject( " adodb.recordset " )
   sql
= " select * from ** where theid is null "

   rs.open sql,conn,
3 , 3
   rs.addnew
   rs(
" userid " ) = uID
   rs(
" nowurl " ) =
nowurl
   rs(
" tourl " ) =
tourl
   rs(
" company " ) =
company
   rs.update
   response.write
" 祝贺,申请成功,你马上就可使用你的域名:http:// " +
nowurl
%>
 

域名解析程序: freedns.asp
<!-- #include file = " conn.asp " -->
<%
dim geturl
geturl
= replace(Request.ServerVariables( " HTTP_HOST " ), " www. " , "" )

   set rs
= server.createobject( " adodb.recordset "
)
   sql
= " select * from tb where nowurl=' " & geturl & " ' "

   rs.open sql,conn,
1 , 1
   
if  rs.eof then
   response.redirect
" http://www.****.com/miss.html "

   
else
   dim tourl,company
   tourl
= rs( " tourl " )
   company
= rs( " company "
)
%>

< HTML >
< HEAD >
< META http - equiv = " Content-Type "  content = " text/html; charset=gb2312 " >
< META CONTENT = " text/html; CHARSET=UTF-8 "  HTTP - EQUIV = " Content-Type " >
< TITLE ><%   = company  %></ TITLE >
</ HEAD >


< frameset frameborder = " 0 "  framespacing = " 0 "  scrolling = " no "  border = " 0 "  marginheight = " 0 "  marginwidth = " 0 "  rows = " 0,* " >
< frame scrolling = " NO "  noresize = " 0 "  marginwidth = " 0 "  marginheight = " 0 "  framespacing = " 0 "  frameborder = " 0 "  target = " main "  name = " main "  SRC = " about:blank " >

< frame scrolling = " yes "  noresize = " 0 "  marginwidth = " 0 "  marginheight = " 0 "  framespacing = " 0 "  frameborder = " 0 "  target = " main "  name = " main "  SRC = " <% =tourl %> " >

< noframes >
< body >
< p > This page uses frames, but your browser doesn ' t support them.</p></body>
</ noframes >
</ frameset >
</ HTML >
<%  end  if   %>