<%If Not ef Then If Request("action")="activate" then session("username")=Sagent("username") session("agentname")=Sagent("username") session("agenttype")=Sagent("agenttype") session("atspace")="API区" if session("agentname")=session("username") then session("AgnRunasUser")=True else session("AgnRunasUser")=false end if '登陆API区 if not ef Then vpsname=LCase(Trim(Request ("vpsname"))) VPSpassword=Trim(Request ("VPSpassword")) HostListpdid=Request ("productid") ReqServerlistID=CStr(Request("idc")) If Request("idc")="" Then ReqServerlistID="0" If vpsname="" Then vpsname=Left(md5(now&"7i24.com"&now),8) If VPSpassword="" Then VPSpassword=Left(md5(now&"7i24.com"),8) End If If session("username")="" Then ef=True ec="授权非法,有可能是超时造成的。" ElseIf Request ("productid")="" Then ef=True ec="请选择产品!" ElseIf not IsNumeric(Request ("productid")) Then ef=True ec="产品ID应该是数字!" ElseIf IsNumeric(vpsname) Then ef=True ec="云服务器名不能是纯数字!" ElseIf not IsNumeric(HostListpdid) Then ef=True ec="产品ID应该是数字!" ElseIf not IsNumeric(ReqServerlistID) Then ef=True ec="机房ID应该是数字!" ElseIf not IsNumeric(Request ("year")) Then ef=True ec="时间应该是数字!" ElseIf vpsname="" Then ef=True ec="请设置云服务器名!" ElseIf Len(vpsname)<3 Then ef=True ec="云服务器名长度不能小于3位!" ElseIf Trim(LCase(vpsname))="self" or Trim(LCase(vpsname))="adm" Or Trim(LCase(vpsname))="administrator" Or Trim(LCase(vpsname))="freehost" Or Trim(LCase(vpsname))="proxy" Then ef=True ec="您输入的VPS户名为保留用户名,请换一个云服务器名" ElseIf RegExpTest("[^A-Za-z0-9]",vpsname) Then ef=True ec="云服务器名中有非法字符!" ElseIf RegExpTest("[^A-Za-z0-9]",VPSpassword) Then ef=True ec="云服务器密码中有非法字符!" end If if not ef then if DateDiff("s", Application("hostoptime"),NOW )<180 and Application("hostoplock")=true then ef=True ec="系统繁忙,前一个网站开通操作尚未处理完,请您稍等两分钟后再试,谢谢您的支持。" end if end if if not ef then Set conn=Server.CreateObject("ADODB.Connection") conn.Open Application("FreeHostDBlink") Set ds = Server.CreateObject("ADODB.Recordset") Sql="Select * from FreeHost.FreeHost_USER where username='"&session("username")&"'" ds.Open Sql,conn,1,3 if ds.eof then ef=True ec="用户不存在!" end if end if 'if not ef then 'if ds("password")<>session("password") then ' ef=True ' ec="密码不正确!" 'end if 'end if if not ef then Set dshost = Server.CreateObject("ADODB.Recordset") Sql="Select * from FreeHost.FreeHost_VPSProductlist where id='"&HostListpdid&"'" dshost.Open Sql,conn,1,1 if dshost.Eof then ef=True ec="产品不存在!" Else If dshost ("isagentpd")=True Then isagentpd=true'代理的产品 ServerlistID=dshost ("ServerlistID")'机房选择 if ReqServerlistID=cstr(dshost ("ServerlistID2")) and dshost ("ServerlistID2")<>0 then ServerlistID=dshost ("ServerlistID2") if ReqServerlistID=cstr(dshost ("ServerlistID3")) and dshost ("ServerlistID3")<>0 then ServerlistID=dshost ("ServerlistID3") if ReqServerlistID=cstr(dshost ("ServerlistID4")) and dshost ("ServerlistID4")<>0 then ServerlistID=dshost ("ServerlistID4") if ReqServerlistID=cstr(dshost ("ServerlistID5")) and dshost ("ServerlistID5")<>0 then ServerlistID=dshost ("ServerlistID5") if ReqServerlistID=cstr(dshost ("ServerlistID6")) and dshost ("ServerlistID6")<>0 then ServerlistID=dshost ("ServerlistID6") if ReqServerlistID=cstr(dshost ("ServerlistID7")) and dshost ("ServerlistID7")<>0 then ServerlistID=dshost ("ServerlistID7") if ReqServerlistID=cstr(dshost ("ServerlistID8")) and dshost ("ServerlistID8")<>0 then ServerlistID=dshost ("ServerlistID8") if ReqServerlistID=cstr(dshost ("ServerlistID9")) and dshost ("ServerlistID9")<>0 then ServerlistID=dshost ("ServerlistID9") if ReqServerlistID=cstr(dshost ("ServerlistID10")) and dshost ("ServerlistID10")<>0 then ServerlistID=dshost ("ServerlistID10") if ds("agent1")<>"n" then Set agnserverid = Server.CreateObject("ADODB.Recordset") Sql="Select * from FreeHost.FreeHost_VPSProductlist_AGN where id='"&HostListpdid&"' and agent1='"&ds("agent1")&"'" agnserverid.Open Sql,conn,1,1 dim isAgnHostSer if not agnserverid.Eof Then If agnserverid("isagentpd")=True Then isagentpd=true'代理的产品 if agnserverid ("ServerlistID")<>0 then ServerlistID=agnserverid ("ServerlistID") isAgnHostSer=true else isAgnHostSer=false end if end if end if'isagn end if end If 'Response.write ReqServerlistID&ServerlistID 'Response.end if not ef then if dshost("cancloud")=false And Request ("CpuValue")<>"" then ef=True ec="本产品不允许弹性购买"'&Request ("CpuValue")&":"&dshost("cancloud") end if end If if not ef then if dshost("cancloud")=true then'是弹性购买产品 If not IsNumeric(Request ("CpuValue")) Then ef=True ec="CPU应该是数字!" ElseIf CInt(Request ("CpuValue"))<1 Then ef=True ec="CPU不能小于1个核心!" ElseIf not IsNumeric(Request ("RamValue")) Then ef=True ec="RAM应该是数字!" ElseIf CInt(Request ("RamValue"))<256 Then ef=True ec="内存不能小于256M!" ElseIf not IsNumeric(Request ("VHDValue")) Then ef=True ec="虚拟硬盘大小应该是数字!" ElseIf CInt(Request ("VHDValue"))<10 Then ef=True ec="虚拟硬盘大小不能小于10G!" ElseIf not IsNumeric(Request ("MbpsValue")) Then ef=True ec="带宽大小应该是数字!" ElseIf CInt(Request ("MbpsValue"))<1 Then ef=True ec="带宽不能小于1Mbps!" ElseIf not IsNumeric(Request ("SNAValue")) Then ef=True ec="快照数量应该是数字!" ElseIf CInt(Request ("SNAValue"))<0 Then ef=True ec="快照不能小于0个!" ElseIf not IsNumeric(Request ("BakValue")) Then ef=True ec="备份数量应该是数字!" ElseIf CInt(Request ("BakValue"))<0 Then ef=True ec="备份不能小于0个!" ElseIf not IsNumeric(Request ("NGBValue")) Then ef=True ec="流量上限应该是数字!" ElseIf CInt(Request ("NGBValue"))<0 Then ef=True ec="流量上限不能小于0个!" ElseIf not IsNumeric(Request ("IPValue")) Then ef=True ec="IP上限应该是数字!" ElseIf CInt(Request ("IPValue"))<1 Then ef=True ec="IP上限不能小于1个!" ElseIf not IsNumeric(Request ("IopsValue")) Then ef=True ec="IOPS上限应该是数字!" ElseIf CInt(Request ("IopsValue"))<0 Then ef=True ec="IOPS上限不能小于1个!" ElseIf not IsNumeric(Request ("OSAllList")) Then ef=True ec="操作系统ID应该是数字!" ElseIf CInt(Request ("OSAllList"))<1 Or CInt(Request ("OSAllList"))>25 Then ef=True ec="操作系统ID不能小于1或大于25!" end If end if end If if not ef then If Request ("year")<>999 and Request ("year")<>dshost("PAY_DAY") and Request ("year")<>dshost("PAY_WEEK") and Request ("year")<>dshost("PAY_Month") and Request ("year")<>dshost("PAY_Season") and Request ("year")<>dshost("PAY_halfyear") and Request ("year")<>1 and Request ("year")<>dshost("PAY_2year") and Request ("year")<>dshost("PAY_3year") and Request ("year")<>dshost("PAY_4year") and Request ("year")<>dshost("PAY_5year") Then ef=True ec="请选择时间!" end If end if if not ef then if dshost("usermoney")=0 then Set dsph = Server.CreateObject("ADODB.Recordset") Sql="Select * from FreeHost.FreeHost_Product_VPS where username='"&session("username")&"'" dsph.Open Sql,conn,1,1 if not dsph.Eof then ef=True ec="金额为零的产品,一个用户只能申请一个!" end if dsph.close end if end if if not ef then if Not IsNull(dshost("onlyusebyagn")) Then If session("agentname")<>dshost("onlyusebyagn") then ef=True ec="本产品只允许特定的代理使用!" End if end if end If if not ef then if dshost("canbyenduser")="n" And session("agentname")="n" then ef=True ec="本产品不允许最终用户开通!" end if end If if not ef then if dshost("canbyagnenduser")="n" And session("agentname")<>"n" then ef=True ec="本产品不允许用户开通!" end if end If if not ef then if dshost("canbyagn")="n" And session("AgnRunasUser")=true then ef=True ec="本产品不允许代理开通!" end if end if if not ef then if Request ("year")=999 and dshost("cantest")="n" then ef=True ec="很抱歉,本产品不可以试用!" end if end If if not ef then if Request ("year")=999 and Application("vpscantest")=True And ds("usermoney")<0.01 then ef=True ec="很抱歉,余款为零的用户不可以试用!" end if end If if not ef then if Request ("year")=999 and (Hour(now)<Application("vpscantestST") or Hour(now)>Application("vpscantestEN"))then ef=True ec="很抱歉,现在的时间段不可以试用!" end if end If if not ef then if Request ("year")=dshost("PAY_DAY") and dshost("canday")="n" then ef=True ec="很抱歉,本产品不可以日付!" end if end If if not ef then if Request ("year")=dshost("PAY_WeeK") and dshost("canweek")="n" then ef=True ec="很抱歉,本产品不可以周付!" end if end If if not ef then if Request ("year")=dshost("PAY_Month") and dshost("canmonth")="n" then ef=True ec="很抱歉,本产品不可以月付!" end if end if if not ef then if Request ("year")=dshost("PAY_Season") and dshost("canseason")="n" then ef=True ec="很抱歉,本产品不可以季付!" end if end if if not ef then if Request ("year")=dshost("PAY_halfyear") and dshost("canhalfyear")="n" then ef=True ec="很抱歉,本产品不可以半年付!" end if end if 'IP黑名单检查 for iX=0 to ubound(Application("blockiparry")) lenip=Len(Application("blockiparry")(iX)) If lenip>4 then if Application("blockiparry")(iX)=Left(Request.ServerVariables("REMOTE_ADDR"),lenip) then ef=True ec="您的IP或IP段"&Request.ServerVariables("REMOTE_ADDR")&"属于黑名单IP:"&Application("blockiparry")(iX)&"@,不允许开通!" exit for end If End if Next If Not isagentpd then'不是代理产品时再执行 if not ef then Set dsserver = Server.CreateObject("ADODB.Recordset") Sql="Select * from FreeHost.FreeHost_ServerVPSlist where id='"&ServerlistID&"'" dsserver.Open Sql,conn,1,1 if dsserver.Eof then ef=True ec="服务器不存在!" else netby=dsserver("netby") ip=dsserver("ip") hostip=dsserver("ip") ' ftpdomain=dsserver("ftpdomain") end if end If if not ef Then If dsserver("IsError")=true Then ef=True ec="很抱歉,您选取的服务器的处于离线状态" End if end If if not ef then if dshost("canADSL")=True then Set dsVPSADSL = Server.CreateObject("ADODB.Recordset") Sql="Select count(*) from FreeHost.FreeHost_Product_VPS_ADSL where errorADSLCode is null and ServerlistID="&dsserver("id")&"" dsVPSADSL.Open Sql,conn,1,1 If dsVPSADSL(0)<1 Then ef=True ec="很抱歉,您选取的服务器的云服务器拨号资源已用光,请联系管理员处理."'&sql End If dsVPSADSL.close End If End If '检查IP资源 if not ef Then Set dsVPSip = Server.CreateObject("ADODB.Recordset") Sql="Select count(*) from FreeHost.FreeHost_Product_VPS_IP where ServerlistID="&dsserver("id")&" and VPSID=0" dsVPSip.Open Sql,conn,1,1 If dsVPSip(0)=0 Then If dsserver("IP_AREA")>0 Then' Set dsVPSip = Server.CreateObject("ADODB.Recordset") Sql="Select count(*) from FreeHost.FreeHost_Product_VPS_IP where IP_AREA="&dsserver("IP_AREA")&" and VPSID=0"'2018 IP池 dsVPSip.Open Sql,conn,1,1 If dsVPSip(0)=0 Then ef=True ec="很抱歉,您选取的服务器所在的IP池资源已用光,管理员尚未分配可用IP,请联系管理员处理." Else IsUse_IP_AREA=True End if Else ef=True ec="很抱歉,您选取的服务器的当前的IP资源已用光,管理员尚未分配可用IP,请联系管理员处理." End if End If if dshost("cancloud")=true then'是弹性购买产品 If dsVPSip(0)<CInt(Request.Form ("IPValue")) Then If dsserver("IP_AREA")>0 Then' Set dsVPSip = Server.CreateObject("ADODB.Recordset") Sql="Select count(*) from FreeHost.FreeHost_Product_VPS_IP where IP_AREA="&dsserver("IP_AREA")&" and VPSID=0"'2018 IP池 dsVPSip.Open Sql,conn,1,1 If dsVPSip(0)<CInt(Request.Form ("IPValue")) Then ef=True ec="很抱歉,您选取的服务器所在的弹性IP池资源已用光,管理员尚未分配可用IP,请联系管理员处理." Else IsUse_IP_AREA=True End if Else ef=True ec="很抱歉,您选取的服务器的当前的弹性IP资源已用光,管理员尚未分配可用IP,请联系管理员处理."'&Request.Form ("IPValue")&dsVPSip(0) End If End If End If End If '检查内存有没有用光 if not ef then Set dsVPSMax = Server.CreateObject("ADODB.Recordset") Sql="Select sum(maxram) from FreeHost.FreeHost_Product_VPS where ServerlistID="&dsserver("id")&"" dsVPSMax.Open Sql,conn,1,1 If (dsVPSMax(0)+dshost("MaxRAM"))>dsserver("maxram") Then ef=True ec="很抱歉,您选取的服务器的内存资源已用光,请联系管理员处理." End If if dshost("cancloud")=true then'是弹性购买产品 If dsVPSMax(0)+Request ("RamValue")>dsserver("maxram") Then ef=True ec="很抱歉,您选取的服务器的内存资源已用光,请联系管理员处理." End If End If dsVPSMax.close End If '检查显卡GPU内存有没有用光 if not ef Then if dshost("canGPU")=true then'是GPU Set dsVPSMax = Server.CreateObject("ADODB.Recordset") Sql="Select sum(MAXRAMGPU) from FreeHost.FreeHost_Product_VPS where ServerlistID="&dsserver("id")&"" dsVPSMax.Open Sql,conn,1,1 If (dsVPSMax(0)+dshost("MAXRAMGPU"))>dsserver("MAXRAMGPU") Then ef=True ec="很抱歉,您选取的服务器的显卡GPU内存资源已用光,请联系管理员处理." End If 'if dshost("cancloud")=true then'是弹性购买产品 'If dsVPSMax(0)+Request ("MAXRAMGPU")>dsserver("MAXRAMGPU") Then ' ef=True ' ec="很抱歉,您选取的服务器的内存资源已用光,请联系管理员处理." 'End If 'End If dsVPSMax.close End If End If '检查space有没有用光 if not ef then Set dsVPSMax = Server.CreateObject("ADODB.Recordset") Sql="Select sum(Maxspace) from FreeHost.FreeHost_Product_VPS where ServerlistID="&dsserver("id")&"" dsVPSMax.Open Sql,conn,1,1 If dsVPSMax(0)+dshost("Maxspace")>dsserver("Maxspace") Then ef=True ec="很抱歉,您选取的服务器的硬盘资源已用光,请联系管理员处理." End If if dshost("cancloud")=true then'是弹性购买产品 If dsVPSMax(0)+Request ("VHDValue")>dsserver("Maxspace") Then ef=True ec="很抱歉,您选取的服务器的硬盘资源已用光,请联系管理员处理." End If End If dsVPSMax.close End If if not ef then Set dsVPSMax = Server.CreateObject("ADODB.Recordset") Sql="Select count(*) from FreeHost.FreeHost_Product_VPS where ServerlistID="&dsserver("id")&"" dsVPSMax.Open Sql,conn,1,1 If dsVPSMax(0)+1>dsserver("MaxVPS") Then ef=True ec="很抱歉,您选取的服务器的VPS数量资源已用光,请联系管理员处理." End If dsVPSMax.close End if if not ef then Set dsph = Server.CreateObject("ADODB.Recordset") Sql="Select * from FreeHost.FreeHost_Product_VPS where vpsname='"&trim(vpsname)&"'" dsph.Open Sql,conn,1,3 if not dsph.Eof then ef=True ec="您输入的云服务器名已存在,请另外输入一个!" end if 'dsph.close end if if not ef Then If dsserver("RAMUsePer")>dsserver("RAMUsePerLIM") Then ef=True ec="您所选的节点负荷(内存)太重,建议您另选一台." End if end If if not ef then URL=dsserver("site") FreeHostsharekey=dsserver("FreeHostsharekey") temp=VPSOP(URL,FreeHostsharekey,"list all now",0) if instr(temp,"名称: "&LCase(trim(vpsname)))>0 Then ef=True ec="服务器上已存在同名的VPS,请您联系管理员处理,或换一个云服务器名重试。" End if if not instr(temp,"成功")>1 Or instr(temp,"失败")>1 Then ef=True ec="系统暂时不可用,请联系管理员在管理区自检来了解原因,也可以稍后再试。" end if end If 'if not ef then 'Set dsph = Server.CreateObject("ADODB.Recordset") ' Sql="Select * from FreeHost.FreeHost_Product_VPS where username='"&session ("username")&"' and istest='y'" ' dsph.Open Sql,conn,1,3 'if Request ("year")=999 then 'if not dsph.Eof then ' ef=True ' ec="一个用户只能试用一个产品!" 'end if 'end if 'end If if not ef then if Request ("year")=999 And dshost("cantest")="n" and Application("Agentcantest")=false then ef=True ec="很抱歉,管理员设置为不能设为试用!" end if end if if not ef then If dsserver("OStype")="Windows 2008R2" And dshost("Cpunum")>4 Then ef=True ec="操作系统是win2012/2016才能设置超过4个CPU!" end if end If End If'不是代理产品时再执行isagentpd=False if not ef then dim starttime,temptime,pdtype pdtype=dshost("VPStype") starttime=NOW '结束时间 y=Request ("year") if y=1 then temptime=dateadd("yyyy",1,now) if y=dshost("PAY_2year") then temptime=dateadd("yyyy",2,now) if y=dshost("PAY_3year") then temptime=dateadd("yyyy",3,now) if y=dshost("PAY_4year") then temptime=dateadd("yyyy",4,now) if y=dshost("PAY_5year") then temptime=dateadd("yyyy",5,now) if y=dshost("PAY_DAY") then temptime=dateadd("s",86400,now) if y=dshost("PAY_WEEK") then temptime=dateadd("n",10080,now) if y=dshost("PAY_Month") then temptime=dateadd("y",31,now) If Application("monthnot31")=True Then if y=dshost("PAY_Month") then temptime=dateadd("m",1,now) if y=dshost("PAY_Season") then temptime=dateadd("y",92,now) if y=dshost("PAY_halfyear") then temptime=dateadd("y",182,now) if y=999 then temptime=dateadd("y",Application("testtime"),now) If Application("VPStestHour")>0 Then temptime=dateadd("n",Application("VPStestHour")*60,now) dim isfortest isfortest=true end if end If if not ef then if dshost("cancloud")=true then'是弹性购买产品'计算增量部分的普通用户情况下的金额 'PAY_1yearvar=dsHost("usermoney") '默认最小值addcpuMIN '当前值addcpuNow '增量每步addcpuNum '每步需要钱数addCpuCost if CInt(Request("CpuValue"))>dsHost("addCpuLim") Then ef=True ec="CPU超出上限!" End If if CInt(Request("RamValue"))>dsHost("addRamLim") Then ef=True ec="内存超出上限!" End If if CInt(Request("VHDValue"))>dsHost("addVHDLim") Then ef=True ec="虚拟硬盘超出上限!" End If if CInt(Request("MbpsValue"))>dsHost("addMbpsLim") Then ef=True ec="带宽超出上限!" End If If dsHost("CDNMaxMb")>0 then if CInt(Request("NGBValue"))>dsHost("addNGBLim") Then ef=True ec="流量超出上限!" End If End If If dsHost("MaxIOPS")>0 then if CInt(Request("IopsValue"))>dsHost("addIOPSLim") Then ef=True ec="IOPS超出上限!" End If End if if CInt(Request("SNAValue"))>dsHost("addSnaLim") Then ef=True ec="快照超出上限!" End If if CInt(Request("BakValue"))>dsHost("addBakLim") Then ef=True ec="备份数量超出上限!" End If if CInt(Request("IPValue"))>dsHost("addIPLim") Then ef=True ec="IP数量超出上限!" End If if (CInt(Request("CpuValue"))<dsHost("OSLimbyCPU")) Or (CInt(Request("RamValue"))<dsHost("OSLimbyRam")) Then If InStr(","&dsHost("OSlim"),","&Request("OSAllList")&",")>0 then ef=True ec="由于内存或CPU限制不能预装这个操作系统!" End If End If Dim cloudAddmoney cloudAddmoney=0 if (CInt(Request("CpuValue"))>dsHost("CpuNum")) then cloudAddmoney=cloudAddmoney+((Request("CpuValue")-dsHost("CpuNum"))/dsHost("addCpuNum"))*dsHost("addCpuCost") if (CInt(Request("RamValue"))>dsHost("MAXRAM")) then cloudAddmoney=cloudAddmoney+((Request("RamValue")-dsHost("MAXRAM"))/dsHost("addRamNum"))*dsHost("addRamCost") if (CInt(Request("VHDValue"))>dsHost("Maxspace")) then cloudAddmoney=cloudAddmoney+((Request("VHDValue")-dsHost("Maxspace"))/dsHost("addVHDNum"))*dsHost("addVHDCost") if (CInt(Request("MbpsValue"))>dsHost("Maxmbps8")) then cloudAddmoney=cloudAddmoney+((Request("MbpsValue")-dsHost("Maxmbps8"))/dsHost("addMbpsNum"))*dsHost("addMbpsCost") If dsHost("CDNMaxMb")>0 then'如果限制流量 if (CInt(Request("NGBValue"))>dsHost("CDNMaxMb")) then cloudAddmoney=cloudAddmoney+((Request("NGBValue")-dsHost("CDNMaxMb")/1000)/dsHost("addNGBNum"))*dsHost("addNGBCost") End If If dsHost("MaxIOPS")>0 then'如果限制IOPS if (CInt(Request("IopsValue"))>dsHost("MaxIOPS")) then cloudAddmoney=cloudAddmoney+((Request("IopsValue")-dsHost("MaxIOPS"))/dsHost("addIOPSNum"))*dsHost("addIOPSCost") End if if (CInt(Request("SNAValue"))>dsHost("MaxSNA")) then cloudAddmoney=cloudAddmoney+((Request("SNAValue")-dsHost("MaxSNA"))/dsHost("addSnaNum"))*dsHost("addSnaCost") if (CInt(Request("BakValue"))>dsHost("MaxBak")) then cloudAddmoney=cloudAddmoney+((Request("BakValue")-dsHost("MaxBak"))/dsHost("addBakNum"))*dsHost("addBakCost") if (CInt(Request("IPValue"))>dsHost("MaxIP")) then cloudAddmoney=cloudAddmoney+((Request("IPValue")-dsHost("MaxIP"))/dsHost("addIpNum"))*dsHost("addIPCost") cloudAddmoney=Clng(FormatNumber(cloudAddmoney,0,-1,0,0))'四舍五入 end If end if if not ef then dim ef,ec,Userpaymoney,forpaytype,olduser_money,moneych,newuser_money,oldagn_money,mymoneych,newagn_money,Useragentname,agent_UP,agent_thisgree_cost,agent_this_name,logfor,pubisagnSer,AgnRunasUser Userpaymoney=dsHost("usermoney") forpayyear=Request ("year") set RsUserds=ds Useragentname=ds("agent1") forpaytype="云服务器产品" forpayid=dshost("id") logfor="API区开通(云服务器名"&trim(vpsname)&")" pubisagnSer=isAgnHostSer AgnRunasUser=session("AgnRunasUser") DoPayMoney end if if not ef then dim Subject,body'send mail vpsname=lcase(trim(vpsname)) dsph.AddNew dsph("username")=ds ("username") dsph("ServerlistID")=dsserver("id") dsph("VPStype")=dshost("VPStype") dsph("starttime")=starttime dsph("endtime")=temptime dsph("Cpunum")=dshost("Cpunum") dsph("MaxRAM")=dshost("MaxRAM") dsph("StartRam")=dshost("StartRam") dsph("Maxmbps8")=dshost("Maxmbps8") dsph("Minmbps8")=dshost("Minmbps8") dsph("MaxCPU")=dshost("MaxCPU") dsph("MaxSpace")=dshost("MaxSpace") dsph("allowdomain")=dshost("allowdomain") dsph("CDNMaxMb")=dshost("CDNMaxMb") dsph("vpsname")=vpsname dsph("VPSpassword")=VPSpassword dsph("vhdpath")=replace(dsserver("homedir")&"\"&dsph("vpsname")&"."&dsserver("vhdtype"),"\\","\") If Not isnull(dsserver("homedir2")) Then dsph("vhdpath2")=replace(dsserver("homedir2")&"\"&dsph("vpsname")&"."&dsserver("vhdtype"),"\\","\") dsph("canbackupvhd")=dshost("canbackupvhd") dsph("MaxIOPS")=dshost("MaxIOPS") dsph("MaxIOPS2")=dshost("MaxIOPS2") dsph("MaxIP")=dshost("MaxIP") dsph("VLANid")=dshost("VLANid") NetCardlimtype=dshost("NetCardlimtype") 'Response.write "test" 'Response.end if dshost("cancloud")=true then'是弹性购买产品 dsph("Cpunum")=Request("CpuValue") dsph("MaxRAM")=Request("RamValue") dsph("MaxSpace")=Request("VHDValue") dsph("Maxmbps8")=Request("MbpsValue") dsph("MaxSNA")=Request("SNAValue") dsph("MaxBak")=Request("BakValue") dsph("MaxIP")=Request("IPValue") If dsHost("MaxIOPS")>0 And Request("IopsValue")>0 Then dsph("MaxIOPS2")=Request("IopsValue")'只限制第二硬盘速度'就算用户选不限制产品默认值更优先 If dsHost("CDNMaxMb")>0 Then dsph("CDNMaxMb")=Request("NGBValue")*1000 dsph("FirstOSid")=Request("OSAllList") end if dsph("status")="准备开通" if y=999 then dsph("istest")="y" else dsph("istest")="n" end if if ds("agent1")<>"n" then dsph("agent1")=ds("agent1") else dsph("agent1")="n" end if dsph("caninstallos")=dshost("caninstallos") dsph("canbackupvhd")=dshost("canbackupvhd") dsph("kefu")=ds("kefunow") If RegExpTest("[^A-Za-z0-9]",Request("attach")) Then isname=False Else dsph("Agnattach")=Request("attach") End If dsph("canGPU")=dshost("canGPU") dsph("MAXRAMGPU")=dshost("MAXRAMGPU") dsph("MaxHW")=dshost("MaxHW") dsph.Update 'LOG Set dsph = Server.CreateObject("ADODB.Recordset") Sql="Select * from FreeHost.FreeHost_Product_VPS where vpsname='"&vpsname&"'" dsph.Open Sql,conn,1,3 pdid=dsph("id") Sql="UPDATE [FreeHost].[FreeHost_Moneylog] set pdid='"&dsph("id")&"' where pdid='"&session("moneylog_pdid")&"'" conn.Execute Sql if Not dshost("isagentpd")=true Then 'if dshost("canADSL")=True Then conn.Execute "UPDATE FreeHost.FreeHost_Product_VPS_ADSL SET VPSID='"&dsph("id")&"' WHERE ID in (SELECT TOP (1) Id FROM FreeHost.FreeHost_Product_VPS_ADSL WHERE VPSID=0 ORDER BY orderbyid DESC);" if dshost("canADSL")=True then Set dsVPSADSL = Server.CreateObject("ADODB.Recordset") Sql="Select top 1 * from FreeHost.FreeHost_Product_VPS_ADSL where errorADSLCode is null and ServerlistID="&dsserver("id")&" and VPSID=0 order by orderbyid desc" dsVPSADSL.Open Sql,conn,1,3 if Not dsVPSADSL.Eof then dsVPSADSL("VPSID")=dsph("id") If dsVPSADSL("VLANid")>0 Then dsph("VLANid")=dsVPSADSL("VLANid") adslinfo="宽带帐号:"&dsVPSADSL("ADSLName")&"宽带密码:"&dsVPSADSL("ADSLpass") dsVPSADSL.update dsVPSADSL.close End If End If Set dsVPSip = Server.CreateObject("ADODB.Recordset") Sql="Select * from FreeHost.FreeHost_Product_VPS_IP where ServerlistID="&dsserver("id")&" and VPSID=0 and ipbyid=0 order by orderbyid desc" If IsUse_IP_AREA=True Then Sql="Select * from FreeHost.FreeHost_Product_VPS_IP where IP_AREA="&dsserver("IP_AREA")&" and VPSID=0 and ipbyid=0 order by orderbyid desc"'2018 IP池 dsVPSip.Open Sql,conn,1,3 IP2="0" IP2mask=0 IP2gateway=0 IP2dns1=0 IP2dns2=0 ipcount=0 MAC=dsVPSip("MAC") If Not IsNull(dsVPSip("VLANid")) Then dsph("VLANid")=dsVPSip("VLANid") havenextIP=false Set dsVPSip2 = Server.CreateObject("ADODB.Recordset") Sql="Select * from FreeHost.FreeHost_Product_VPS_IP where ipbyid='"&dsVPSip("ID")&"' and VPSID=0 order by orderbyid desc" dsVPSip2.Open Sql,conn,1,3 If Not dsVPSip2.Eof Then '有附属IP时 ip=dsVPSip("ip") IPmask=dsVPSip("IPmask") IPgateway=dsVPSip("IPgateway") IPdns1=dsVPSip("IPdns1") IPdns2=dsVPSip("IPdns2") dsVPSip("VPSID")=dsph("id") dsVPSip.update IP2=dsVPSip2("IP") IP2mask=dsVPSip2("IPmask") IP2gateway=dsVPSip2("IPgateway") IP2dns1=dsVPSip2("IPdns1") IP2dns2=dsVPSip2("IPdns2") dsVPSip2("VPSID")=dsph("id") If IsUse_IP_AREA=True Then dsVPSip2("ServerlistID")=dsserver("id")'启用IP池的原因IP发生了转移,到了新服务器名下 dsVPSip2.update dsVPSip2.close havenextIP=true end if 'dsVPSip.movefirst If havenextIP=false then While Not dsVPSip.Eof If ipcount<dsph("MaxIP") then'如果选中2014 dsVPSip("VPSID")=dsph("id") If IsUse_IP_AREA=True Then dsVPSip("ServerlistID")=dsserver("id")'启用IP池的原因IP发生了转移,到了新服务器名下 ipcount=ipcount+1 If IP2="0" And ip<>"" then IP2=dsVPSip("IP") IP2mask=dsVPSip("IPmask") IP2gateway=dsVPSip("IPgateway") IP2dns1=dsVPSip("IPdns1") IP2dns2=dsVPSip("IPdns2") End if If IP="" then IP=dsVPSip("IP") IPmask=dsVPSip("IPmask") IPgateway=dsVPSip("IPgateway") IPdns1=dsVPSip("IPdns1") IPdns2=dsVPSip("IPdns2") End if dsVPSip.update End If dsVPSip.movenext Wend dsVPSip.movefirst End If End if '调用开通function If Not isagentpd then'不是代理产品时再执行 URL=dsserver("site") FreeHostsharekey=dsserver("FreeHostsharekey") username=dsph ("vpsname") username=dsph ("username") homedir=dsserver("homedir") starttime=dsph("starttime") endtime=dsph("endtime") type1=dsph("VPStype") MAXcpu=dsph("MAXCPU") CpuNum=dsph("CpuNum") MAXRam=dsph("MAXRam") StartRam=dsph("StartRam") Maxmbps8=dsph("Maxmbps8") Minmbps8=dsph("Minmbps8") MAXspace=dsph("MAXspace") vhdpath=dsph("vhdpath") vhdpath2=dsph("vhdpath2") If Not isnull(vhdpath) And isnull(vhdpath2) Then vhdpath2=Replace(vhdpath,".vhd","-2.vhd") MaxIOPS=dsph("MaxIOPS") MaxIOPS2=dsph("MaxIOPS2") VLANid=dsph("VLANid") canGPU=dsph("canGPU") MAXRAMGPU=dsph("MAXRAMGPU") MaxHW=dsph("MaxHW") If MAC="000000000000" Then MAC=null 'IP=dsph("ip")'分配的IP 'if y=999 and Application("testsame")<>true then'如果是试用 'MaxConnections=Application("MaxConnections") 'spacelimit=Application("spacelimit") 'MaxBandwidth=Application("MaxBandwidth") 'end if If Application("smsVPSopen")=True And (ds("agent1")="n" Or Application("agncangetsms")=True) Then Dim username username=ds("username") mobi=Trim(ds("mobi")) smsContent=Application("smsVPSopencon") '恭喜!您的邮箱产品已开通了!用户名 :#用户名#产品类型 :#产品类型#到期时间是 :#到期时间#您的帐户余款是 :#金额# 元 smsContent=Replace(smsContent,"#用户名#",ds("username")) smsContent=Replace(smsContent,"#产品类型#",dsph("VPStype")) smsContent=Replace(smsContent,"#到期时间#",formatdatetime(dsph("endtime"),1)) smsContent=Replace(smsContent,"#金额#",newuser_money) If Application("smsByint")=2 Then'阿里云处理 '开通${product}成功,产品帐号${proname},密码${propass},到期${endtime},余款${usermoney}元,备注${info} smsContent="{""product"":""云服务器"",""proname"":"""&vpsname&""",""propass"":"""&VPSpassword&""",""endtime"":"""&formatdatetime(dsph("endtime"),1)&""",""usermoney"":"""&newuser_money&""",""info"":"":用户名"&Replace(ds("username"),"qq","QQ")&"""}" End if ret=SendSms(mobi,smsContent,0,Now,Application("smsvpsopen_code")) End if 'dim Subject,body emailVPSopen ret=Send2Mail(conn,ds("username"),Subject,body) 'dsph.close Application.lock Application("hostoptime")=now Application("hostoplock")=true Application.unlock varcon="makevps "&username&" "&vpsname&" "&CpuNum&" "&MAXcpu&" "&MAXRam&" "&MAXspace&" "&vhdpath&" "&StartRam If dsserver("OStype")="Windows Server 2012" Then varcon=varcon&" 0 "&Maxmbps8*1024*1024 If dsserver("OStype")="Windows Server 2012R2" Or dsserver("OStype")="Windows Server 2016" Then varcon=varcon&" 0 "&Maxmbps8*1024*1024&" "&dsserver("SwitchName")&" "&StartRam&" "&vhdpath2&" 10 "&(MAXspace-10)&" defaultClusterNameby7i24 "&MaxIOPS&" "&MaxIOPS2&" NULLswitchname "&VLANid&" "&NetCardlimtype If dsserver("IsCluster")=true Then varcon=Replace(varcon,"defaultClusterNameby7i24",dsserver("ClusterName")) If Not isnull(dsserver("SwitchName2")) Then varcon=Replace(varcon,"NULLswitchname",dsserver("SwitchName2")) If canGPU Then varcon=varcon&" GPUsetInfo-"&MAXRAMGPU*1024*1024&"-"&MaxHW If Not IsNull(MAC) Then varcon=varcon&" SETMAC-"&MAC temp=VPSOP(URL,FreeHostsharekey,varcon,0) If Not isnull(dsserver("SwitchName2")) Then '处理switch If InStr(temp,vbcrlf&vbcrlf&vbcrlf&"SwitchName : ") Then arysw=Split(temp,vbcrlf&vbcrlf&vbcrlf&"SwitchName : ") arysw2=Split(arysw(1),vbcrlf&vbcrlf&vbcrlf) arysw3=Split(arysw2(0),vbcrlf) If dsserver("SwitchName")=arysw3(0) Then dsph("MAC")=replace(arysw3(1),"MacAddress : ","") dsph("MAC2")=replace(arysw3(4),"MacAddress : ","") Else dsph("MAC")=replace(arysw3(4),"MacAddress : ","") dsph("MAC2")=replace(arysw3(1),"MacAddress : ","") End If End if End if'完成switch dsph.update Application.lock Application("hostoplock")=false Application.unlock Sql="update FreeHost.FreeHost_Product_VPS set status='等待安装操作系统' where vpsname='"&vpsname&"'" conn.Execute Sql adslinfo="" if not isnull(dsph("ADSLName")) then ADSLNameinfo="宽带账户"&dsph("ADSLName")&"宽带密码"&dsph("ADSLpass") adslinfo="宽带帐号:"&dsph("ADSLName")&"宽带密码:"&dsph("ADSLpass") ADSLName=dsph("ADSLName") ADSLpass=dsph("ADSLpass") else Set dsADSL = Server.CreateObject("ADODB.Recordset") Sql="Select * from FreeHost.FreeHost_Product_VPS_ADSL where VPSID="&dsph("id") dsADSL.Open Sql,conn,1,1 while not dsADSL.eof ADSLNameinfo="宽带账户"&dsADSL("ADSLName")&"宽带密码"&dsADSL("ADSLpass") adslinfo="宽带帐号:"&dsADSL("ADSLName")&"宽带密码:"&dsADSL("ADSLpass") ADSLName=dsADSL("ADSLName") ADSLpass=dsADSL("ADSLpass") dsADSL.movenext wend end if Set dsVPSip = Server.CreateObject("ADODB.Recordset") Sql="Select * from FreeHost.FreeHost_Product_VPS_IP where VPSID="&dsph("id")&" order by SwitchName asc" dsVPSip.Open Sql,conn,1,1 ' If Not isnull(dsPORTserver("cname")) Then ' vpsip=dsPORTserver("cname") & ":" & portstart ' Else ' vpsip=dsPORTserver("IP") & ":" & portstart ' End if IParycon=""'前面是IP,后面是MAC,网卡代号,虚拟交换机名 while not dsVPSip.eof If isONEip Then EndIP=IPopen portstart=dsVPSip("portstart")+4 portend=dsVPSip("portstart")+dsPORTserver("portperip")-1 End If SwitchName=dsserver("SwitchName") MAC=dsph("MAC") If dsVPSip("SwitchName")=2 Then SwitchName=dsserver("SwitchName2") If dsVPSip("SwitchName")=2 Then MAC=dsph("MAC2") If isnull(MAC) Then MAC="NULL" IParycon=IParycon&""&dsVPSip("IP")&"$"&dsVPSip("IPmask")&"$"&dsVPSip("IPgateway")&"$"&dsVPSip("IPdns1")&"$"&dsVPSip("IPdns2")&"$"&MAC&"$"&SwitchName&"#" dsVPSip.movenext Wend FreeHost_oplog session("username"),"信息","API区,用户开通云服务器产品:("&vpsname&") "&temp&",用户:"&dsph("username")&",分配IP端口MAC信息:"&vpsip&IParycon&",分配ADSL拨号信息:"&adslinfo 'FreeHost_oplog session("username"),"信息","API区,用户开通云服务器产品:("&vpsname&") "&temp 'If Not isagentpd then'不是代理产品时再执行 'Response.Write "下面应用硬防的预装策略:<br>" Set dsACLTmp = Server.CreateObject("ADODB.Recordset") Sql="Select * from FreeHost.FreeHost_Product_VPS_ACLTemplate where ServerlistID='"&dsserver("id")&"' order by Weight desc" dsACLTmp.Open Sql,conn,1,1 If dsACLTmp.Eof Then noACl=true else while not dsACLTmp.Eof varcon="VMAddACLUsing -Action "&dsACLTmp ("Action")&" -Direction "&dsACLTmp ("Direction")&" -Protocol "&dsACLTmp ("Protocol")&" -Weight "&dsACLTmp ("Weight") If dsACLTmp ("ParentAdapter")<>"" and dsACLTmp ("ParentAdapter")<>"ANY" Then varcon=varcon&" -VMNetworkAdapterName "&dsACLTmp ("ParentAdapter") If dsACLTmp ("RemoteIPAddress")<>"" Then varcon=varcon&" -RemoteIPAddress "&dsACLTmp ("RemoteIPAddress") If dsACLTmp ("RemotePort")<>"" Then varcon=varcon&" -RemotePort "&dsACLTmp ("RemotePort") If dsACLTmp ("LocalIPAddress")<>"" Then varcon=varcon&" -LocalIPAddress "&dsACLTmp ("LocalIPAddress") If dsACLTmp ("LocalPort")<>"" Then varcon=varcon&" -LocalPort "&dsACLTmp ("LocalPort") varcon=varcon&" -VMName "&vpsname 'Response.write varcon 'Response.end temp=ACLOP(URL,FreeHostsharekey,varcon,0) 'Response.write "策略优先级:"&dsACLTmp ("Weight")&"执行结果:"&temp&"<br>" FreeHost_oplog session("agentusername"),"信息","代理开通云服务器产品: ("&vpsname&") 设置硬防策略返回:"&temp If InStr(temp,"L命令成功执行。")>1 Then'复制这个策略到单个VPS策略表中 Set dsACL = Server.CreateObject("ADODB.Recordset") Sql="Select * from FreeHost.FreeHost_Product_VPS_ACL where ServerlistID='"&dsserver("id")&"' order by Weight desc" dsACL.Open Sql,conn,3,2 dsACL.addnew dsACL("ACLmyname")="预装时生成默认策略" dsACL("opusername")=session("username") 'dsACL("admusername")=dsACLTmp("admusername") dsACL("starttime")=NOW dsACL("ServerlistID")=dsACLTmp ("id") dsACL("Action")=dsACLTmp("Action") dsACL("Direction")=dsACLTmp("Direction") dsACL("Protocol")=dsACLTmp("Protocol") dsACL("Weight")=dsACLTmp("Weight") dsACL("ParentAdapter")=dsACLTmp("ParentAdapter") dsACL("RemoteIPAddress")=dsACLTmp("RemoteIPAddress") dsACL("RemotePort")=dsACLTmp("RemotePort") dsACL("LocalIPAddress")=dsACLTmp("LocalIPAddress") dsACL("LocalPort")=dsACLTmp("LocalPort") dsACL("userCanDel")=dsACLTmp("userCanDel") dsACL("username")=dsph("username") dsACL("vpsname")=dsph("vpsname") dsACL.update dsACL.close End if 'Response.end dsACLTmp.movenext wend End If 'End if 'If Not isagentpd then'不是代理产品时再执行 'Response.Write "下面应用防ARP攻击/限制用户盗用IP策略:<br>" If dsserver("ANIArp")=true Then '得到IP列表,发给受控 Set dsVPSip = Server.CreateObject("ADODB.Recordset") Sql="Select * from FreeHost.FreeHost_Product_VPS_IP where VPSID="&dsph("id")&" order by SwitchName asc" dsVPSip.Open Sql,conn,1,1 IParycon=""'前面是IP,后面是MAC,网卡代号,虚拟交换机名 while not dsVPSip.eof IParycon=IParycon&""&dsVPSip("IP")&"#" dsVPSip.movenext Wend dsVPSip.close 'Response.Write "当前已分配的IP为:"&IParycon&"<br>" varcon="VMARPACLUsing -VMName "&vpsname&" -LocalIPAddress "&IParycon&" -MAC NONE" 'Response.write varcon&"<br>" 'Response.end temp=ACLOP(URL,FreeHostsharekey,varcon,0) 'Response.write "执行结果:"&temp&"<br>" FreeHost_oplog session("username"),"信息","用户开通云服务器产品: ("&vpsname&") 设置防ARP策略返回:"&temp Else 'Response.Write "本服务器没启用此功能.<br>" End If 'End if OSAllList=Request("OSAllList") if OSAllList<>"" and IsNumeric(OSAllList) then oridir=dsserver("osfile"&OSAllList) if len(oridir)>3 Then todir=dsph("vhdpath") EndIP=IP VPSpassword=dsph("VPSpassword") portstart=0 portend=0 Set dsVPSip = Server.CreateObject("ADODB.Recordset") Sql="Select * from FreeHost.FreeHost_Product_VPS_IP where VPSID="&dsph("id")&" order by SwitchName asc" dsVPSip.Open Sql,conn,1,1 IParycon=""'前面是IP,后面是MAC,网卡代号,虚拟交换机名 while not dsVPSip.eof If isONEip Then EndIP=IPopen portstart=dsVPSip("portstart")+4 portend=dsVPSip("portstart")+dsPORTserver("portperip")-1 else'不是共享IP'2019-12-1 If Application("CanRanPort")=True Then'启用了端口随机化 Randomize portstart=int(rnd*(32767-10000+1))+10000 dsph("Pubport")=portstart End If'完成端口随机化 End If SwitchName=dsserver("SwitchName") MAC=dsph("MAC") If dsVPSip("SwitchName")=2 Then SwitchName=dsserver("SwitchName2") If dsVPSip("SwitchName")=2 Then MAC=dsph("MAC2") If isnull(MAC) Then MAC="NULL" IParycon=IParycon&""&dsVPSip("IP")&"$"&dsVPSip("IPmask")&"$"&dsVPSip("IPgateway")&"$"&dsVPSip("IPdns1")&"$"&dsVPSip("IPdns2")&"$"&MAC&"$"&SwitchName&"#" dsVPSip.movenext Wend dsVPSip.close varcon="installos "&username&" "&vpsname&" "&oridir&" "&todir&" "&IP&" "&IPmask&" "&IPgateway&" "&IPdns1&" "&IPdns2&" 1 "&MAXspace&" "&VPSpassword&" "&portstart&" "&portend&" "&IP2&" "&IP2mask&" "&IP2gateway&" "&IP2dns1&" "&IP2dns2&" NotCluster NOADSL- 0 0 []"&iparycon If dsserver("IsCluster")=true Then varcon=Replace(varcon,"NotCluster","isCluster") if not isnull(dsph("ADSLName")) Then ADSLtxtInfo=dsph("ADSLName")&"/"&dsph("ADSLpass") else Set dsADSL = Server.CreateObject("ADODB.Recordset") Sql="Select * from FreeHost.FreeHost_Product_VPS_ADSL where VPSID="&dsph("id") dsADSL.Open Sql,conn,1,1 while not dsADSL.eof ADSLtxtInfo=dsADSL("ADSLName")&"/"&dsADSL("ADSLpass")&" "&ADSLtxtInfo dsADSL.movenext Wend ADSLtxtInfo=RTrim(ADSLtxtInfo) end If If ADSLtxtInfo<>"" Then varcon=Replace(varcon,"NOADSL-","HAVEADSL-"&ADSLtxtInfo) temp=VPSOP(URL,FreeHostsharekey,varcon,1)'0=now 'Response.Write varconA 'Response.Write "装入网站"&dsserver("osname1")&"操作结果:" Sql="update FreeHost.FreeHost_Product_VPS set status='正常' where vpsname='"&vpsname&"'" conn.Execute Sql 'Response.Write temp FreeHost_oplog session("username"),"信息","用户预装云服务器产品操作系统: "&temp End If end if Else '进入上级处理 dsph("isagentpd")=dshost("isagentpd") dsph("VPSComName")=dshost("VPSComName") dsph("VPSApiName")=dshost("VPSApiName") dsph("VPScpdomain")=dshost("VPScpdomain") dsph("Agnuserid")=dshost("Agnuserid") dsph("Domain_Agent_nonemd5_6")=dshost("Domain_Agent_nonemd5_6") dsph("Agnidc")=dshost("Agnidc") dsph("Agnproductid")=dshost("Agnproductid") dsph.update VPSApiName=dsph("VPSApiName") userid=dsph("Agnuserid") userstr=md5(dsph("Domain_Agent_nonemd5_6")&"7i24.com") yearAgn=Request ("year") idc=dsph("Agnidc") productid=dsph("Agnproductid") attach=ds("username") tar="http://"&VPSApiName&"/api/cloudapi.asp?userid="&userid&"&userstr="&userstr&"&year="&yearAgn&"&vpsname="&vpsname&"&VPSpassword="&dsph ("VPSpassword")&"&idc="&idc&"&productid="&productid&"&action=activate&attach="&attach&"&CpuValue="&Request("CpuValue")&"&RamValue="&Request("RamValue")&"&VHDValue="&Request("VHDValue")&"&MbpsValue="&Request("MbpsValue")&"&NGBValue="&Request("NGBValue")&"&IopsValue="&Request("IopsValue")&"&SNAValue="&Request("SNAValue")&"&BakValue="&Request("BakValue")&"&IPValue="&Request("IPValue")&"&OSAllList="&Request("OSAllList")&"&installos="&Request("installos") 'Response.write tar if dsph("VPSComName")="pptp" then tar="http://"&dsph("VPSApiName")&"/index/api/useradd.html?token="&dsph("Domain_Agent_nonemd5_6")&"&username="&dsph ("vpsname")&"&password="&dsph ("VPSpassword")&"&exp="&DateDiff("s", "01/01/1970 00:00:00", dsph("endtime")) temp=ONLY_GET(tar,"") FreeHost_oplog session("username"),"信息","用户区,用户开通云服务器PPTP产品(代理上级):("&vpsname&") "&temp If InStr(temp,"status=ok&info=uid:") then pptpuid=split(temp,"status=ok&info=uid:")(1) Sql="update FreeHost.FreeHost_Product_VPS set status='正常',pptpuid='"&pptpuid&"' where vpsname='"&vpsname&"'" conn.Execute Sql Else Sql="update FreeHost.FreeHost_Product_VPS set status='失败' where vpsname='"&vpsname&"'" conn.Execute Sql response.write "e=调用上级API时出错,开通失败,但费用已扣,请联系管理员手工处理!出错原因为:"&server.urlencode(temp) End If else temp=ONLY_GET(tar,"") FreeHost_oplog session("username"),"信息","用户区,用户开通云服务器产品(代理上级):("&vpsname&") "&temp If InStr(temp,"ret=ok") then Sql="update FreeHost.FreeHost_Product_VPS set status='正常' where vpsname='"&vpsname&"'" conn.Execute Sql Else Sql="update FreeHost.FreeHost_Product_VPS set status='失败' where vpsname='"&vpsname&"'" conn.Execute Sql response.write "e=调用上级API时出错,开通失败,但费用已扣,请联系管理员手工处理!出错原因为:"&server.urlencode(temp) End If end if End if'上级是代理,我是中间代理 'conn.close 'Set conn=Nothing 'response.write "ret=ok&vpsname="&vpsname&"&vpspassword="&VPSpassword&"&endtime="&year(endtime)&"-"&month(endtime)&"-"&day(endtime)&" "&hour(endtime)&":"&minute(endtime)&":"&second(endtime)&"&cpurl="&Application("VPScpdomain_Agn")&"&attach="&request("attach") response.write "ret=ok&vpsname="&vpsname&"&vpspassword="&VPSpassword&"&endtime="&year(endtime)&"-"&month(endtime)&"-"&day(endtime)&"&cpurl="&Application("VPScpdomain_Agn")&"&ADSLNameinfo="&ADSLnameinfo&"&ADSLName="&ADSLname&"&adSLpass="&ADSLpass&"&attach="&request("attach") End if'正常开通 End if'开通操作. End If Function ACLOP(URL,FreeHostsharekey,vpscon,op) Dim returnstr,body body=URLEncoding("vpscon="&vpscon&"&op="&op) Set MaintoCSCom=Server.CreateObject("www.7i24.com") returnstr=MaintoCSCom.DOHTTPSSLX(Url&"?",FreeHostsharekey,body,FreeHost_t1,FreeHost_t2,FreeHost_t3,FreeHost_t4) If MaintoCSCom.IsError Then Response.write "出错:error:状态码:"&MaintoCSCom.Do7i24Status 'Response.write "出错:error:详细返回:"&MaintoCSCom.FunGetErrorInfo() End if Set MaintoCSCom =Nothing ACLOP = returnstr End Function %>
提示的错误:
Microsoft VBScript 运行时错误 错误 '800a01a8'
缺少对象: 'dsph'
行 663
错误的位置 是 dsph.AddNew 也就是下面的第4行 麻烦有大佬帮忙看看是哪里错了吗,我实在是绞尽脑汁了:
if not ef then dim Subject,body'send mail vpsname=lcase(trim(vpsname)) dsph.AddNew dsph("username")=ds ("username") dsph("ServerlistID")=dsserver("id") dsph("VPStype")=dshost("VPStype") dsph("starttime")=starttime dsph("endtime")=temptime dsph("Cpunum")=dshost("Cpunum") dsph("MaxRAM")=dshost("MaxRAM") dsph("StartRam")=dshost("StartRam") dsph("Maxmbps8")=dshost("Maxmbps8") dsph("Minmbps8")=dshost("Minmbps8") dsph("MaxCPU")=dshost("MaxCPU") dsph("MaxSpace")=dshost("MaxSpace") dsph("allowdomain")=dshost("allowdomain") dsph("CDNMaxMb")=dshost("CDNMaxMb") dsph("vpsname")=vpsname dsph("VPSpassword")=VPSpassword dsph("vhdpath")=replace(dsserver("homedir")&"\"&dsph("vpsname")&"."&dsserver("vhdtype"),"\\","\") If Not isnull(dsserver("homedir2")) Then dsph("vhdpath2")=replace(dsserver("homedir2")&"\"&dsph("vpsname")&"."&dsserver("vhdtype"),"\\","\") dsph("canbackupvhd")=dshost("canbackupvhd") dsph("MaxIOPS")=dshost("MaxIOPS") dsph("MaxIOPS2")=dshost("MaxIOPS2") dsph("MaxIP")=dshost("MaxIP") dsph("VLANid")=dshost("VLANid") NetCardlimtype=dshost("NetCardlimtype") 'Response.write "test" 'Response.end