答案: '******************************
'名称: ChkInvStr
'参数:Str
'返回值:True/False
'创建时间:2005年5月2日
'作用:检查参数是否有非法字符
'******************************
Public Function ChkInvStr(Str)
Rem 定义需要过滤得非法字符
Dim InvaildWord,inWords,i
Str=CStr(Str)
ChkInvStr=False
If Len(Replace(p_InvaildWords,Chr(0),""))<1 Then
AddErrorCode(103) 'invaildwords is null
Exit Function
Else
If Instr(1,p_Invaildwords,"")>0 Then
InvaildWord=Split(p_InvaildWords,"")
inWords=LCase(Trim(Str))
For i=LBound(InvaildWord) To UBound(InvaildWord)
If Instr(inWords,InvaildWord(i))>0 Then
p_Error=1982
AddErrorCode(105)
ChkInvStr=True
Exit Function
End If
Next
Else
AddErrorCode(104) '"" is requried.
Exit Function
End If
End If
End Function
'******************************
'名称: GetIP
'参数:NULL
'返回值:NULL
'创建时间:2005年5月3日
'作用:得到用户的ip地址
'******************************
Public Function GetIP()
p_IpAdd=Request.ServerVariables("HTTP_X_FORWARDED_FOR")
If IsNull(p_IpAdd) OR p_IpAdd="" Then
p_IpAdd=Request.ServerVariables("REMOTE_ADDR")
End If
GetIp=p_IpAdd
End Function
'******************************
'名称: IPAddress
'参数:sip
'返回值:County,City
'作用:对数据内容进行排版转换
'创建时间:2005年5月6日
'来源:www.knowsky.com
'******************************
Public Function IPAddress(sip)
Dim IPConnStr,IPConn,IPAddressDB
Dim str1,str2,str3,str4
Dim num
Dim country,city,address
Dim IPRs,SQL
address="未知"
If IsNumeric(Left(sip,2)) Then
If sip="127.0.0.1" Then sip="192.168.0.1"
str1=Left(sip,InStr(sip,".")-1)
sip=mid(sip,instr(sip,".")+1)
str2=Left(sip,instr(sip,".")-1)
sip=Mid(sip,InStr(sip,".")+1)
str3=Left(sip,instr(sip,".")-1)
str4=Mid(sip,instr(sip,".")+1)
If isNumeric(str1)=0 or isNumeric(str2)=0 or isNumeric(str3)=0 or isNumeric(str4)=0 Then
Else
num=CLng(str1)*16777216+CLng(str2)*65536+CLng(str3)*256+CLng(str4)-1
IPAddressDB = "DSJ_Ipaddress.mdb"
IPConnStr = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = " & Server.MapPath(p_dbFolder & IPAddressDB)
Set IPConn = Server.CreateObject("ADODB.Connection")
IPConn.Open IpConnStr
country="亚洲"
city=""
sql="select top 1 country,city from DSJ_IPAddress where ip1 <="&num&" and ip2 >="&num&""
Set IPRs=IPConn.execute(sql)
If Not(IPRs.EOF And IPRs.bof) Then
country=IPRs(0)
city=IPRs(1)
End If
IpRs.Close:Set IPRs=Nothing
IPConn.CLose:Set IPConn = Nothing
SqlQueryNum = SqlQueryNum+1
End If
IPAddress=country&city
End If
End Function
'******************************
'名称: ClientConnected
'参数:NULL
'返回值:NULL
'创建时间:2005年5月5日
'作用:得到用户是否与服务器连接
'******************************
Public Sub ClientConnected()
If Response.IsClientConnected then
Response.Flush()
Else
Response.End()
End If
End Sub
'******************************
'名称: ChkPost
'参数:NULL
'返回值:True/False
'创建时间:2005年5月5日
'作用:检查被提交的数据来源
'******************************
Public Function ChkPost()
Dim Server_v1,Server_v2
ChkPost=False
Server_v1=CStr(Request.ServerVariables("HTTP_REFERER"))
Server_v2=CStr(Request.ServerVariables("SERVER_NAME"))
If Mid(Server_v1,8,Len(Server_v2))=Server_v2 Then ChkPost=True
End Function
'******************************
'名称: AddErrorCode
'参数:ErrCode
'返回值:ErrCodes
'创建时间:2005年5月3日
'作用:添加错误代码到ErrCodes中
'******************************
Public Sub AddErrorCode(ErrCode)
If ErrCodes="" Then
ErrCodes=ErrCode
Else
ErrCodes=ErrCodes & "," & ErrCode
End If
End Sub
'******************************
'名称: ShowErrMsg
'参数:NULL
'返回值:NULL
'创建时间:2005年5月3日
'作用:显示详细的错误信息
'******************************
Public Function ShowErrMsg()
If NOT p_Debug Then On Error Resume Next
If ErrCodes<>"" Then
iErrCodes=Split(ErrCodes,",",-1,Binary)
For i=LBound(iErrCodes) To UBound(iErrCodes)
tmpErrCode=CLng(iErrCodes(i))
If IsNumeric(tmpErrCode) Then
ErrMsg=ErrMsg & ErrDetails(tmpErrCode)
End If
Next
End If
ShowErrMsg=ErrMsg
End Function
'******************************
'名称: ConnectionDataBase
'参数:DataBase,p_dbUserID,p_dbPassword,p_dbType
'返回值:NULL
'作用:连接到数据库
'创建时间:2005年5月6日
'******************************
Public Function ConnectionDataBase(param_DataBase,param_dbUserID,param_dbPassword,param_dbType)
If Not p_Debug Then On Error Resume Next
ClientConnected
If IsNumeric(param_dbType) Then
Set objConn=Server.CreateObject("ADODB.Connection")
objConn.ConnectionTimeOut=10 '设置连接超时为10秒
dbPath=Server.MapPath(p_dbFolder¶m_DataBase)
'Response.Write dbPath
Select Case param_dbType
Case 11: 'Access Data Base(OLEDB)
ConnStr="Provider=Microsoft.Jet.Oledb.4.0;Data Source="&dbPath&";User ID="¶m_dbUserID&";Password="¶m_dbPassword&""
Case 21: 'SQL Server (OLEDB)
ConnStr="Provider=SQLOLEDB;Initial Catalog="¶m_DataBase&";Data Source="&p_sqlDataSource&";User ID="¶m_dbUserID&";Password="¶m_dbPassword&""
Case 12: 'Access Data Base(ODBC)
上一个:ASP检索网站指定目录文件的算法与应用方向
下一个:一个比较实用的asp函数集合类(1)