% if session ("WinMyDNSUserName")="" then response.redirect "index.asp" response.end end if %>
![]() |
|
<%response.write SafeRequest("Mesg")%> <% act=SafeRequest("act") ID= SafeRequest("ID") if ID<>"" then set rsd = conn.execute("select * from soa where ID="&ID) origin=rsd("origin") username=rsd("username") if session("WinMyDNSUserName")<>username and session("WinMyDNSIsAdmin")<>"Y" then PopMsg "对不起,您没有管理该域名的权限" end if rsd.close end if select case act case "add_pre" call Add_Pre() case "edit_pre" call Edit_Pre() case "add" if session("WinMyDNSIsAdmin")<>"Y" then set rsn = conn.execute("select count(*) from soa where [username]='"&session("WinMyDNSUserName")&"' ") soanum=rsn(0) if soanum>=session("WinMyDNSsoanum") then PopMsg "对不起,最多只能添加["&session("WinMyDNSsoanum")&"]个域名" rsn.close if instr(SafeRequest("origin"),"in-addr.arpa") then PopMsg "对不起,只有管理员才能添加反向解析" end if if SafeRequest("origin")="" then PopMsg "错误:域名不能为空" origin=SafeRequest("origin")&"." origin=replace(origin,"..",".") topdate=SafeRequest("topdate") enddate=SafeRequest("enddate") if topdate="" then topdate = date() if enddate="" then enddate = dateadd("yyyy",50,date()) if checkDomain(origin) <>0 then PopMsg "错误:请输入合法的域名" set rss=conn.execute("select * from soa where origin='"&origin&"' or origin='"&origin&".' ") if not rss.eof then PopMsg "错误:域名["&origin&"]已存在" rss.close '如果已存在abc.com的域名,不允许加入www.abc.com一类的域名 if session("WinMyDNSIsAdmin")<>"Y" then origin_t = origin do while instr(origin_t,".") origin_t = mid(origin_t,instr(origin_t,".")+1) set rss=conn.execute("select * from soa where origin='"&origin_t&"' or origin='"&origin_t&".' ") if not rss.eof then PopMsg "错误:已存在域名["&origin_t&"]" response.end end if rss.close loop end if conn.execute ("insert into soa (origin,ns,mbox,Serial,refresh,retry,expire,minimum,ttl,[username],yn,topdate,enddate) values ('"&origin&"','"&origin&"','"&origin&"',1,900,600,86400,3600,3600,'"&SafeRequest("username")&"','"&SafeRequest("yn")&"','"&topdate&"','"&enddate&"')") Mesg = "操作成功" response.redirect "DNS.asp?Mesg="&server.urlencode("操作成功") 'call List() case "edit" origin=SafeRequest("origin")&"." origin=replace(origin,"..",".") topdate=SafeRequest("topdate") enddate=SafeRequest("enddate") if topdate="" then topdate = date() if enddate="" then enddate = dateadd("yyyy",50,date()) conn.execute ("update soa set origin='"&origin&"', serial=(serial+1),[username]='"&SafeRequest("username")&"',yn='"&SafeRequest("yn")&"',topdate='"&topdate&"',enddate='"&enddate&"' where ID="&ID) Mesg = "操作成功" 'call List() response.redirect "DNS.asp?Mesg="&server.urlencode("操作成功") case "del" conn.execute (" delete from rr where [zone]="&SafeRequest("ID")) conn.execute (" delete from soa where id="&SafeRequest("ID")) 'Mesg = "操作成功" 'call List() response.redirect "DNS.asp?Mesg="&server.urlencode("操作成功") case "add_R" if session("WinMyDNSIsAdmin")<>"Y" then set rsn = conn.execute("select count(*) from rr where [zone]="&ID&" ") 'response.write "select count(*) from rr where zone=(select zone from rr where ID="&ID&") " 'response.end rrnum=rsn(0) if rrnum>=session("WinMyDNSrrnum") then PopMsg "对不起,最多只能添加["&session("WinMyDNSrrnum")&"]条记录" rsn.close end if if SafeRequest("rrtype")="A" then if checkIP(SafeRequest("rrdata")) <>0 then PopMsg "错误:请输入合法的IP" elseif SafeRequest("rrtype")="CNAME" then if checkDomain(SafeRequest("rrdata")) <>0 then PopMsg "错误:请输入合法的域名" elseif SafeRequest("rrtype")="MX" then if checkDomain(SafeRequest("rrdata")) <>0 then PopMsg "错误:请输入合法的域名" elseif SafeRequest("rrtype")="SRV" then if checkSrv(SafeRequest("rrdata")) <>0 then PopMsg "错误:请输入合法SRV参数值,格式是:srv域名:端口号,如:srv.winmydns.com:801" end if set rst=conn.execute("select a.*,b.netname from rr a left join net b on a.netid=b.id where [zone]="&SafeRequest("ID")&" and netid="&SafeRequest("netid")&" and name='"&SafeRequest("rrname")&"' and type='"&SafeRequest("rrtype")&"' order by a.aux desc " ) if not rst.eof then balance=rst("balance") rst.close if balance="" then balance="0" conn.execute("insert into rr ([zone],name,type,data,aux,ttl,netid,balance) values ("&SafeRequest("ID")&",'"&SafeRequest("rrname")&"','"&SafeRequest("rrtype")&"','"&SafeRequest("rrdata")&"','"&SafeRequest("rraux")&"',"&SafeRequest("rrttl")&","&SafeRequest("netid")&",'"&balance&"') ") conn.execute ("update soa set serial=(serial+1) where ID="&ID) 'Mesg = "操作成功" 'Query_R response.redirect "DNS.asp?act=query_R&ID="&ID&"&Mesg="&server.urlencode("操作成功") case "edit_R" if SafeRequest("rrtype")="A" then if checkIP(SafeRequest("rrdata")) <>0 then PopMsg "错误:请输入合法的IP" elseif SafeRequest("rrtype")="CNAME" then if checkDomain(SafeRequest("rrdata")) <>0 then PopMsg "错误:请输入合法的域名" elseif SafeRequest("rrtype")="MX" then if checkDomain(SafeRequest("rrdata")) <>0 then PopMsg "错误:请输入合法的域名" elseif SafeRequest("rrtype")="SRV" then if checkSrv(SafeRequest("rrdata")) <>0 then PopMsg "错误:请输入合法SRV参数值,格式是:srv域名:端口号,如:srv.winmydns.com:801" end if conn.execute("update rr set data='"&SafeRequest("rrdata")&"',aux="&SafeRequest("rraux")&",ttl="&SafeRequest("rrttl")&",netid="&SafeRequest("netid")&" where ID="&SafeRequest("rrID")&" ") conn.execute ("update soa set serial=(serial+1) where ID="&ID) Mesg = "操作成功" 'Query_R response.redirect "DNS.asp?act=query_R&ID="&ID&"&Mesg="&server.urlencode("操作成功") case "del_R" conn.execute("delete from rr where ID="&SafeRequest("rrID")&" ") conn.execute ("update soa set serial=(serial+1) where ID="&ID) Mesg = "操作成功" 'Query_R response.redirect "DNS.asp?act=query_R&ID="&ID&"&Mesg="&server.urlencode("操作成功") case "add_pre_R" Add_Pre_R 'response.end case "edit_pre_R" Edit_Pre_R 'response.end case "query" Query 'response.end case "query_R" Query_R 'response.end case "balance_R" balance_R case "balance_Set" rrID=SafeRequestInt("rrID") ID=SafeRequestInt("ID") balance=SafeRequestInt("balance") set rs=conn.execute("select a.*,b.netname from rr a left join net b on a.netid=b.id where a.ID="&SafeRequest("rrID")&" ") if rs.eof then PopErr "记录不存在" netid=rs("netid") name=rs("name") rrtype=rs("type") rs.close rrID=SafeRequestInt("rrID") balance=SafeRequestInt("balance") set rs=conn.execute("select a.*,b.netname from rr a left join net b on a.netid=b.id where [zone]="&ID&" and netid="&netid&" and name='"&name&"' and type='"&rrtype&"' order by a.aux desc " ) i=0 do while not rs.eof conn.execute("update rr set balance='"&balance&"',aux="&SafeRequestInt("aux_"&rs("ID"))&" where ID="&rs("ID")&" ") rs.movenext loop rs.close conn.execute ("update soa set serial=(serial+1) where ID="&ID) response.redirect "DNS.asp?act=query_R&ID="&ID&"&Mesg="&server.urlencode("操作成功") case "add_URL" set rsu=conn.execute("select origin from soa where ID="&ID) domain=rsu("origin") if mid(domain,len(domain)-1,1) ="." then domain=mid(domain,0,len(domain-1)) rrname=SafeRequest("rrname") if rrname<>"" then domain=rrname&"."&domain if session("WinMyDNSIsAdmin")<>"Y" then set rsn = conn.execute("select count(*) from URL where [domain]='"&domain&"' ") rrnum=rsn(0) if rrnum>=session("WinMyDNSrrnum") then PopMsg "对不起,最多只能添加["&session("WinMyDNSrrnum")&"]条记录" rsn.close end if conn.execute("insert into url ([domain],[url],urltype,netid) values ('"&domain&"','"&SafeRequest("rrdata")&"','"&SafeRequest("urltype")&"',"&SafeRequest("netid")&") ") 'Query_R response.redirect "DNS.asp?act=query_R&ID="&ID&"&Mesg="&server.urlencode("操作成功") case "edit_URL" conn.execute("update url set url='"&SafeRequest("rrdata")&"',urltype="&SafeRequest("urltype")&",netid="&SafeRequest("netid")&" where ID="&SafeRequest("rrID")&" ") Mesg = "操作成功" 'Query_R response.redirect "DNS.asp?act=query_R&ID="&ID&"&Mesg="&server.urlencode("操作成功") case "del_URL" conn.execute("delete from url where ID="&SafeRequest("rrID")&" ") Mesg = "操作成功" 'Query_R response.redirect "DNS.asp?act=query_R&ID="&ID&"&Mesg="&server.urlencode("操作成功") case else call List end select sub List() sdomain=SafeRequest("sdomain") sql = "select * from soa where origin like'%"&sdomain&"%' " '不是管理员,只能管理自已的域名 if session("WinMyDNSIsAdmin")<>"Y" then sql = sql & " and [username]='"&session("WinMyDNSUserName")&"' " end if sql = sql& " order by origin " set rs=server.createobject("adodb.recordset") rs.open sql,conn,1,1 if not rs.eof then if not isempty(SafeRequest("page")) then if IsNumeric(SafeRequest("page")) = True then pagecount=cint(SafeRequest("page")) else pagecount=1 end if else pagecount=1 end if PageSize = SafeRequest("PageSize") if PageSize="" or not IsNumeric(PageSize) then PageSize = "100" end if rs.pagesize=PageSize if pagecount>rs.pagecount or pagecount<=0 then pagecount=1 end if if not rs.eof then rs.AbsolutePage=pagecount end if if session("WinMyDNSIsAdmin")<>"Y" then sql_soa="select count(*) from soa where [username]='"&session("WinMyDNSUserName")&"'" sql_rr="select count(*) from rr where zone in (select id from soa where [username]='"&session("WinMyDNSUserName")&"') " else sql_soa="select count(*) from soa " sql_rr="select count(*) from rr " end if set rsa1=conn.execute(sql_soa) set rsa2=conn.execute(sql_rr) all_zone = rsa1(0) all_rr = rsa2(0) rsa1.close rsa2.close %> <%=SafeRequest("Mesg")%>
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||