⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 func.asp

📁 功能最强大的ASP网站
💻 ASP
📖 第 1 页 / 共 2 页
字号:
End Function

'获得用户的管理用户名
Function get_manageuser(UserName)
get_manageuser = lqhm.get_manageuser(UserName)
End Function

'判断用户是否为特殊代理
Function IsAgent(UserName)
'IsAgent = lqhm.IsAgent(UserName)
Set rsp_gm = Server.CreateObject("adodb.recordset")
sql = "select * from [user] where username='" & UserName & "' and (menu in (select groupcode from usergroup where isagent='Y'))"
    rsp_gm.Open sql, conn, 1, 1
If rsp_gm.EOF Then
    IsAgent = "N" 
Else
    IsAgent = "Y" 
End If
rsp_gm.Close
Set rsp_gm = Nothing
End Function

'获得特殊代理列表
function GetAgentList()
	GetAgentList = lqhm.GetAgentList()
end function

'生成唯一ID号
Function CreateUID(Code_i, Name)
	CreateUID = lqhm.CreateUID(Code_i, Name)
End Function


'判断ID是否重复
FUnction CheckUID(TableName, IDName, IDValue)
	CheckUID = lqhm.CheckUID(TableName, IDName, IDValue)
End Function

'判断当前用户是否用该业务的操作权限
Function IsMOrder(ID, OrderType)
	IsMOrder = lqhm.sMOrder(ID, OrderType)
end Function




'以下是域名在线查询代码
'################################################################################################
'域名查询,1:未注册, 2,已注册, 其它:出错
Function check_domain_fun(domain, ext1, ext2, URL_i)
	check_domain_fun = lqhm.check_domain_fun(domain, ext1, ext2, URL_i)
	exit function
	
	domainT = domain
	if ext1 <> "" then domainT = domainT & "." & ext1
	if ext2 <> "" then domainT = domainT & "." & ext2
	
	'提交域名实时注册
		select case session("DomainOnLineReg")
			case	"1"
				ret = ZPAPI_changeCheck(domainT, session("DomainOnLineRegUser"),session("DomainOnLineRegPass"),ErrMsg)
			case	"2"
				ret = WebCCCheckDomain(domainT,session("DomainOnLineRegUser"),session("DomainOnLineRegPass"),ErrMsg)
			case	"3"
				ret = xwCheckDomain(domainT,session("DomainOnLineRegUser"),session("DomainOnLineRegPass"),ErrMsg)
			case	"4"
				ret = XwhlDomainCheck(domainT,session("DomainOnLineRegUser"),session("DomainOnLineRegPass"),ErrMsg)
			case	else
				ret = "0"
		end select
		
		if ret = "0" then 
			check_domain_fun = "1"
		elseif ret = "1" then 
			check_domain_fun = "2"
		else
			check_domain_fun = ErrMsg
		end if
End Function

Function SplitURL(URL_i, URL, uReg, Reg, M, Whois)
	SplitURL = lqhm.SplitURL(URL_i, URL, uReg, Reg, M, Whois)
End Function

'获得网页的内容
'################################################################################################
'获得网页内容,把URL分割成地址和参数两部分提交
Function GetDataFromURL_2(URL, M)
	GetDataFromURL_2 = lqhm.GetDataFromURL_2(URL, M)
End Function


'获得网页内容
Function GetDataFromURL(URL, M)
	GetDataFromURL = lqhm.GetDataFromURL(URL, M)
End Function

Function URLEncoding(vstrIn)
	URLEncoding = lqhm.URLEncoding(vstrIn)
End Function

Function bytes2BSTR(vIn)
	bytes2BSTR = lqhm.bytes2BSTR(vIn)
End Function

'提交客户请求
'#####################################################################################################
Sub put_apply(UserName, domainname, action)
	call lqhm.put_apply(UserName, domainname, action)
End Sub

'发送邮件
'##############################################################################################################
Sub SplitEmail(intstr, Title, Body)
	call lqhm.SplitEmail(intstr, Title, Body)
End Sub

Function SendEMail(EMail, EmailSet)
	'SendEMail = lqhm.SendEMail(EMail, EmailSet)
	 
	 set RsMailSet = conn.execute ("select * from mailCfg where CfgName like 'SysCfg%'")
	 do while not RsMailSet.eof
	 if RsMailSet("CfgName") = "SysCfg-RecvMailBox" then  SysCfg_RecvMailBox = RsMailSet("CfgBody")
	if RsMailSet("CfgName") = "SysCfg-SendBox" then  SysCfg_SendBox = RsMailSet("CfgBody")
	if RsMailSet("CfgName") = "SysCfg-SendMailPass" then  SysCfg_SendMailPass = RsMailSet("CfgBody")
	if RsMailSet("CfgName") = "SysCfg-SendMailServer" then  SysCfg_SendMailServer = RsMailSet("CfgBody")
	if RsMailSet("CfgName") = "SysCfg-SendMailUser" then  SysCfg_SendMailUser = RsMailSet("CfgBody")
	if RsMailSet("CfgName") = "SysCfg-SendName" then  SysCfg_SendName = RsMailSet("CfgBody")
	 RsMailSet.movenext
	 loop
	 RsMailSet.close
	 
	On Error Resume Next
	Call SplitEmail(EmailSet, Title, Body)
	
	 Set jmail = Server.CreateObject("JMAIL.Message")   '建立发送邮件的对象
     jmail.Charset = "GB2312"     '邮件的文字编码
     'jmail.ContentType = "text/html"    '邮件的格式为HTML格式或纯文本
     jmail.AddRecipient EMail 'lfz_mail@163.com"     '邮件收件人的地址
     jmail.From = SysCfg_SendBox 'Session("MAILFROM") 'abc@abc.com   '发件人的E-MAIL地址
     jmail.MailServerUserName = SysCfg_SendMailUser 'Session("MAILUSER") '如:web@abc.com '登录邮件服务器的用户名 (您的邮件地址)

     jmail.MailServerPassword = SysCfg_SendMailPass 'Session("MAILPASSWORD") ' 123456 '登录邮件服务器的密码 (您的邮件密码)
     jmail.Subject = Title    '邮件的标题 
     jmail.Body = Body      '邮件的内容
     jmail.Priority = 1      '邮件的紧急程序,1 为最快,5 为最慢, 3 为默认值
     jmail.Send(SysCfg_SendMailServer) 'Session("MAILSERVER"))     'mail.cbdcn.com执行邮件发送(通过邮件服务器地址)
     jmail.Close()   
     set jmail = nothing
	 
	If Err Then
    	Result = Result & " 邮件发送失败:" & Err.Description
	Else
    	Result = "邮件发送成功"
	End If

SendEMail = Result
End Function

Function MD5(Msg)
	MD5 = lqhm.MD5(Msg)
End Function

'####################################################################################################
'新增加帐务处理函数
'####################################################################################################
'财务综全处理函数
'driection:真实入帐,真实扣帐,借款入帐,借款扣帐,帐户冻结,帐户解冻,业务扣帐,业务退帐,扣帐
Function FunManage(direction, UserName, amount, billno, remark, ErrMsg)
	FunManage = lqhm.FunManage(direction, UserName, amount, billno, remark, ErrMsg)
End Function


'判断会员金额是否足够扣帐
Function IsHandle(UserName, acount)
	IsHandle = lqhm.IsHandle(UserName, acount)
End Function

'判断会员金额是否足够扣帐
Function IsHandleA(UserName, Price, ManageUser, PriceM)
	IsHandleA = lqhm.IsHandleA(UserName, Price, ManageUser, PriceM)
End Function


'扣帐金额
Function handleA(UserName, Price, ManageUser, PriceM, remark)
	handleA = lqhm.handleA(UserName, Price, ManageUser, PriceM, remark)
End Function




'#######################################################################################
'受理公用函数
'#######################################################################################
'通用受理函数
'Function TransHandle(ID, OrderTable,  strtype, TransName)
'	TransHandle = lqhm.TransHandle(ID, OrderTable,  strtype, TransName)
'End Function


'开通业务
Function TransHandle(ID,strtype)
	'TransHandle2 = lqhm.TransHandle2(ID, OrderTable, strtype, TransName)
Set rs = conn.Execute("select * from userorder  where id='" & ID & "'")
UserName=rs("UserName")
price = rs("price")
priceA = rs("priceA")
applytime = rs("applytime")
applytype = rs("applytype")
domainname = rs("domainname")
applyname = rs("applyname")
rs.close
set rs = nothing
ManageUser = get_manageuser(username)


ret = CheckMoney(id)
if ret <> "" then
	TransHandle = ret
	exit function
end if


'服务器的时间单位是按月算.
    pricetype = get_producttype(applytype)
    If strtype = "1" Then
        '断判是否有足够的资金
		TransHandle = CheckMoney(ID)
		if TransHandle <> "" then
			exit function
		end if
		
        ReMark = "开通" & applyname & "[" & domainname & "]"
		If FunManage("扣帐", UserName, price, billno, ReMark, ErrMsg) <> "0" Then
            TransHandle = ErrMsg
            Exit Function
        End If
		
		if IsAgent (ManageUser) = "Y" and ManageUser <> UserName then
			If FunManage("扣帐", ManageUser, priceA, billno, ReMark, ErrMsg) <> "0" Then
            	TransHandle = ErrMsg
            	Exit Function
        	End If
		end if

        If IsNull(applytime) Or applytime = "" Then applytime = 1
        If pricetype = "年" Then
            regend = DateAdd("yyyy", applytime, Date)
        ElseIf pricetype = "月" Then
            regend = DateAdd("m", applytime, Date)
        Else
            regend = DateAdd("yyyy", 1, Date)
        End If
   
       conn.Execute ("update userorder set handle='处理成功',status='正常',handletime='" & Date & "',regend='" & regend & "'  where  id='" & ID & "'")
    Else
        conn.Execute ("update userorder set handle='处理失败',status='处理失败',handletime='" & Date & "'  where  id='" & ID & "'")
    End If
End Function


'业务续费处理
Function TransCon(ID,applytime1,applytime2, TransName)
	'TransCon = lqhm.TransCon(ID, OrderTable, applytime1,applytime2, TransName)
Set rs = conn.Execute("select * from userorder  where id='" & ID & "'")
UserName=rs("UserName")
price = rs("priceA")
domainname = rs("domainname")
applytime = rs("applytime")
applytype = rs("applytype")
handle = rs("handle")
regendo = rs("regend")
applyname = rs("applyname")
rs.close
set rs = nothing

If handle <> "处理成功" Then
    TransCon = "对不起,该业务未受理,或所处的状态不可续费"
    Exit Function
End If



ManageUser = get_manageuser(username)

applytime = applytime1 * GetProductTime(applytype, applytime2)
'priceA = applytime1 * GetProductPrice(UserName, applytype, applytime2)
'price = priceA / applytime1
price = applytime1 * GetProductPrice(UserName, applytype, applytime2)
priceA = applytime1 * GetProductPrice(ManageUser, applytype, applytime2)
pricetype = get_producttype(applytype)  '服务器的时间单位是按月算.


    If (UserName <> TransName) And (ManageUser <>TransName)  And (Mid(Session("IsAdmin"), 1, 1) <> "Y") Then
            TransCon = "无权管理该业务的权限"
            Exit Function
    End If

	TransCon = CheckMoney(ID)
	if TransCon <> "" then
			exit function
	end if
	
        '断判是否有足够的资金
        ReMark = "续费" & applyname & "[" & domainname & "]"
		If FunManage("扣帐", UserName, price, billno, ReMark, ErrMsg) <> "0" Then
            TransCon = ErrMsg
            Exit Function
        End If
		
		if IsAgent (ManageUser) = "Y" and ManageUser <> UserName then
			If FunManage("扣帐", ManageUser, priceA, billno, ReMark, ErrMsg) <> "0" Then
            	TransCon = ErrMsg
            	Exit Function
        	End If
		end if
        
        If IsNull(applytime) Or applytime = "" Then applytime = 1
        If pricetype = "年" Then
            regend = DateAdd("yyyy", applytime, regendo)
        ElseIf pricetype = "月" Then
            regend = DateAdd("m", applytime, regendo)
        Else
            regend = DateAdd("yyyy", 1, regendo)
        End If

        If OrderTable <> "domain" Then
            conn.Execute ("update userorder set  regend='" & regend & "',price=" & price & ",priceA=" & priceA & ",status='正常' where  id='" & ID & "'")
        Else
            conn.Execute ("update userorder set  regend='" & regend & "',price=" & price & ",priceA=" & priceA & ",status='正常' where  id='" & ID & "'")
        End If
		
		'系统未实时处理,在订单受理中提示管理员
		action=applyname & "订单[" & ID & "]已续费[" & applytime & "]" & pricetype & ",但未实时处理,请手工办理"
		put_apply UserName,domainname,action
end Function

'获得订单的详细信息,输入:ID,OrderTable:domain,dummy,adver
Function getOrderDetail(ID,OrderTable,username,applytype,applyname,applytime,domainname,email,status,handle,regend,price,priceM)
	getOrderDetail = lqhm.getOrderDetail(ID,OrderTable,username,applytype,applyname,applytime,domainname,email,status,handle,regend,price,priceM)
end Function

'获得得随机密码
Function GetRndPwd(pLen)
		'GetRndPwd = lqhm.GetRndPwd(pLen)
Randomize '初始化随机数生成器。
Tmp = "01234567890qwertyuioplkjhgfdsazxcvbnmMNBVCXZLKJHGFDSAPOIUYTREWQHQWERTYUIOPLKKJHGFDSAXCVBff"
i = 1
Do While i < pLen
   MyValue = Int((70 * Rnd) + 1) ' 产生 ascii值从 48 到 125 之间的随机数。
   GetRndPwd = GetRndPwd & Mid(Tmp, MyValue, 1)
   i = i + 1
Loop
end function

'直接从SOCK读数据
Function GetDataFromSock(IP,Port, Msg)
	ret = lqhm.GetDataFromSock(IP,Port, Msg)
	call WriteLog("","","远程通讯","IP=[" & IP & "],Port=[" & Port & "],Msg = [" & Msg & "], 返回=[" & ret & "]")
	GetDataFromSock = ret
end Function


'IsSucc:1:成功,2,失败
'opType:1:用户登录,2:业务申请,3:业务管理,4:代理管理,5:系统管理,6:实时开通
Function WriteLog(OpName,IsSucc,OpType,ReMark)
sql = "insert into oplog (username,opname,issucc,optype,remark) values ('" & session("username") & "','" & OpName & "','" & IsSucc & "', '" & OpType & "', '" & Remark & "') "
conn.execute (sql)
end function


'SQL防入库函数
Function SafeRequest(ParaName) 
Dim ParaValue 
ParaValue=Request(ParaName)
if IsNumeric(ParaValue) = True then
SafeRequest=ParaValue
exit Function
elseIf Instr(LCase(ParaValue),"select ") > 0 or Instr(LCase(ParaValue),"insert ") > 0 or Instr(LCase(ParaValue),"delete from") > 0 or Instr(LCase(ParaValue),"count(") > 0 or Instr(LCase(ParaValue),"drop table") > 0 or Instr(LCase(ParaValue),"update ") > 0 or Instr(LCase(ParaValue),"truncate ") > 0 or Instr(LCase(ParaValue),"asc(") > 0 or Instr(LCase(ParaValue),"mid(") > 0 or Instr(LCase(ParaValue),"char(") > 0 or Instr(LCase(ParaValue),"xp_cmdshell") > 0 or Instr(LCase(ParaValue),"exec master") > 0 or Instr(LCase(ParaValue),"net localgroup administrators") > 0  or Instr(LCase(ParaValue)," and ") > 0 or Instr(LCase(ParaValue),"net user") > 0 or Instr(LCase(ParaValue)," or ") > 0 then
 Response.Write "<script language='javascript'>"
 Response.Write "alert('可疑的SQL注入请求!');"  '发现SQL注入攻击提示信息
 Response.Write "location.href='http://www.winiis.com/';"  '发现SQL注入攻击转跳网址
 Response.Write "<script>"
 Response.end
else
SafeRequest=ParaValue
End If
End function

%>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -