利用泛解析實現(xiàn)二級域名原理以及程序- -
??????????????????????????????????????

要達(dá)到二級名的效果,必須一下條件以及流程:
1、必須有一個頂級域名,而且此域名必須做好泛解析并做好指向。
2、必須有一臺獨立的服務(wù)器。泛解析的域名指向該服務(wù)器。
3、在服務(wù)器上的IIS建一個空的主機頭名的web站點。
4、將默認(rèn)的頁面設(shè)置為你的二機解析程序(比如:freedns.asp)
5、二級域名系列程序(包括申請頁:shenqing.htm,添加頁add.asp,解析頁,)


此程序的優(yōu)點:
a,可以限制申請域名的敏感字,比如 hacker,wwww,sex,china等
b, 可以限制申請域名的非法字,比如:!·#¥%……—*()——?‘“/等
c, 每個地址只能申請一個域名。
d,限制申請域名的長度,
e, 如果用戶所訪問的域名沒人申請則轉(zhuǎn)到特定的頁面,本例中的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 > * 號為必填內(nèi)容 </ 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 >

你實際的網(wǎng)站地址:
??????
< 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
" 很抱歉,你已經(jīng)申請過二級域名,每個用戶只能申請一個二級域名!<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 + " 已經(jīng)被其他公司申請,請另外申請域名。 "

???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 ? %>