📄 const.asp
字号:
<%
'=========================================================
' file: const.asp
' version:2.0
' date: 2007-10-16
' script Written by mutou
'=========================================================
' copyright (C) 2006-2008 Anyfor.cn. All rights reserved.
' web: http://www.anyfor.cn,http://www.anysale.cn
' email: anyforcn@hotmail.com
'=========================================================
const isBuss=0
const anysaleServerUrl = "http://www.anysale.cn/"
class myAnySale
rem const
public cookiesName,username,nickname,userID,userGroup,userLevel,userMoney,userTrust,userArea,userClass,userInfo,isAdmin
public userTrueIP,tmpStr,scriptName,scriptFolder
public asSet,asInfo,asReg,asUser,asMail,asUp,asMoney,lockip,regwords,badwords,rebadwords,asGroups,siteInfo
rem sub
public sub class_initialize()
userAgent
asConfig
asGroup
userTrueIP = getIP
vistFlag
badIP
end sub
'基本数据
public function asConfig()
cookiesName="anysaleCookies"
tmpStr = request.serverVariables("PATH_INFO")
tmpStr = split(tmpStr,"/")
scriptName = lcase(tmpStr(UBound(tmpStr)))
scriptFolder = lcase(tmpStr(UBound(tmpStr)-1)) & "/"
userID=replace(request.Cookies(cookiesName)("userID"),"'","")
username=replace(request.Cookies(cookiesName)("username"),"'","")
if userGroup="" then userGroup=9 end if
dim rs,rsu
set rs=conn.execute("select asSet,asInfo,asReg,asUser,asMail,asUp,asMoney,lockip,regwords,badwords,rebadwords,siteInfo from as_config")
if not(rs.bof and rs.eof) then
asSet=split(rs(0),"|||")
asInfo=split(rs(1),"|||")
asReg=split(rs(2),"|||")
asUser=split(rs(3),"|||")
asMail=split(rs(4),"|||")
asUp=split(rs(5),"|||")
asMoney=split(rs(6),"|||")
lockip=rs(7)
regwords=split(rs(8),",")
badwords=split(rs(9),"|")
rebadwords=split(rs(10),"|")
siteInfo=split(rs(11),"|||")
end if
rs.close:set rs=nothing
set rsu=conn.execute("select userInfo,[money],groups,[level],istrust,areaID,classID,nickname from as_user where username='"&username&"'")
if not(rsu.bof and rsu.eof) then
userInfo=split(rsu(0),"|||")
userMoney=clng(rsu(1))
userGroup=clng(rsu(2))
userLevel=clng(rsu(3))
userTrust=clng(rsu(4))
userArea =clng(rsu(5))
userClass=clng(rsu(6))
nickname =rsu(7)
end if
rsu.close:set rsu=nothing
end function
public function asGroup()
dim groupsID
groupsID=userGroup
isAdmin=false
if groupsID=1 then isAdmin=true end if
if userGroup=6 or userGroup=7 or userGroup=8 then groupsID=clng(userLevel) end if
asGroups=getValue("as_groups","setting","groupsID="&groupsID)
asGroups=split(asGroups,"|||")
end function
'日志
public function saveLog()
on error resume next
dim requestStr,sql
requestStr= request("action")
if requestStr<>"" then
requestStr="action="&requestStr
requestStr=checkStr(requestStr)
requestStr=left(requestStr,250)
sql="insert into as_log (scriptName,userName,detail,userIP,type) values ('"&scriptName&"','"&session("userName")&"','"&requestStr&"','"&userTrueIP&"',1)"
conn.execute(sql)
end If
if request.form<>"" then
requestStr=checkStr(request.form)
requestStr=left(requestStr,250)
sql="insert into log (scriptName,userName,detail,userIP,type) values ('"&scriptName&"','"&session("userName")&"','"&requestStr&"','"&userTrueIP&"',2)"
conn.execute(sql)
end if
end function
'真实IP
private function getIP()
dim strIPAddr
if request.serverVariables("HTTP_X_FORWARDED_FOR") = "" or instr(request.serverVariables("HTTP_X_FORWARDED_FOR"), "unknown") > 0 then
strIPAddr = request.serverVariables("REMOTE_ADDR")
elseIf inStr(request.serverVariables("HTTP_X_FORWARDED_FOR"), ",") > 0 then
strIPAddr = mid(request.serverVariables("HTTP_X_FORWARDED_FOR"), 1, instr(request.serverVariables("HTTP_X_FORWARDED_FOR"), ",")-1)
actForIP=request.serverVariables("REMOTE_ADDR")
elseIf inStr(request.serverVariables("HTTP_X_FORWARDED_FOR"), ";") > 0 then
strIPAddr = mid(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), 1, instr(request.serverVariables("HTTP_X_FORWARDED_FOR"), ";")-1)
actforip=request.serverVariables("REMOTE_ADDR")
else
strIPAddr = request.serverVariables("HTTP_X_FORWARDED_FOR")
actforIP=request.serverVariables("REMOTE_ADDR")
end if
getIP = checkStr(trim(mid(strIPAddr, 1, 30)))
end function
'过滤IP
public function badIP()
dim isbadIP,userIP,tempIP
if lockip<>"" then
isbadIP = false
if instr("|"&lockip&"|","|"&userTrueIP&"|") then isbadIP = true
userIP = split(userTrueIP,".")
tempIP = userIP(0)&"."&userIP(1)&"."&userIP(2)&".*"
if instr("|"&lockip&"|","|"&tempIP&"|") then isbadIP = true
tempIP = userIP(0)&"."&userIP(1)&".*.*"
if Instr("|"&lockip&"|","|"&tempIP&"|") then isbadIP = true
tempIP = userIP(0)&".*.*.*"
if instr("|"&lockip&"|","|"&tempIP&"|") then isbadIP = true
end if
if isbadIP=true then
call asNote("IP受限","系统设置您的IP禁止访问,有疑问请联系本站管理员。")
end if
end function
'禁止代理访问
public function userAgent()
dim agent
agent = trim(lcase(request.servervariables("HTTP_USER_AGENT")))
if inStr(agent,"teleport") > 0 or inStr(agent,"webzip") > 0 or inStr(agent,"flashget")>0 or inStr(agent,"offline")>0 then
call asNote("禁止代理访问","请不要采用teleport/Webzip/Flashget/Offline等工具来浏览本站!")
end if
end function
'网站关闭及限制访问
public function vistFlag()
dim asGroups(0)
asGroups(0)=1
if (instr(scriptName,"admin")=0 and instr(scriptName,"login")=0 and instr(scriptName,"validator")=0 and instr(scriptFolder,"admin/")=0) then
if cint(asSet(1))=0 then
call asNote("系统维护中,"&asInfo(0)&"网站暂时关闭。",asSet(2))
end if
if cint(asGroups(0))=0 then
call asNote("权限出错","你所在的用户组没有浏览网站的权限!")
end if
end if
end function
' 判断发言是否来自外部
public function checkPost()
dim server_v1,server_v2
checkPost=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 checkPost=true end if
end function
' 错误提示
public function errWin(errNote)
response.write"<div class=""anysaleErr""><ul class=""winNote f14""><li class=""iErr""> </li><li class=""left""><ul>"
response.write errNote
response.write"</ul></li></ul><ul class=""winBtn""><li class=""txtRig"">"
response.write"<button onclick=""winClose();"" class=""button"" onmouseover=""this.className='buttonH'"" onmouseout=""this.className='button'"">返 回</button>"
response.write"</li></ul></div>"
end function
' 成功提示
public function sucWin(sucNote)
sucNote=split(sucNote, "|||")
response.write"<div class=""anysaleSuc""><ul class=""winNote f14""><li class=""iSuc""> </li><li class=""left""><ul>"
response.write sucNote(0)
response.write"</ul></li></ul><ul class=""winBtn""><li class=""txtRig"">"
response.write sucNote(1)
response.write"</li></ul></div>"
end function
' 提示信息
public function infoWin(infoNote)
infoNote=split(infoNote, "|||")
response.write"<div class=""anysaleNote""><ul class=""winNote f14""><li class=""iNote""> </li><li class=""left""><ul>"
response.write infoNote(0)
response.write"</ul></li></ul><ul class=""winBtn""><li class=""txtRig"">"
response.write infoNote(1)
response.write"</li></ul></div>"
end function
public function asNote(title,infoNote)
call minHead(title,"","")
response.write"<div class=""txtCen title"" style=""padding:150px 0 226px 0;"">"&infoNote&"<br /><br /><br /><br /><button onclick=""javascript:history.go(-1);"" class=""button"" onmouseover=""this.className='buttonH'"" onmouseout=""this.className='button'""> 返 回 </button></div>"
call minFoot
response.end
end function
' 检查字符窜
public function checkStr(str)
if isnull(str) then
checkStr = ""
exit function
end if
checkStr=replace(str,"'","''")
end function
'截取字符窜长度
public function cutStr(str,strlen)
dim i,l,t,c
l=len(str)
t=0
for i=1 to l
c=Abs(Asc(Mid(str,i,1)))
if c>255 then
t=t+2
else
t=t+1
end if
if t>=strlen then
cutStr=left(str,i)&"..."
exit for
else
cutStr=str
end if
next
cutStr=replace(cutStr,chr(10),"")
end function
' 过滤HTML代码
public function HTMLEncode(fString)
if not isnull(fString) then
fString = replace(fString, ">", ">")
fString = replace(fString, "<", "<")
fString = Replace(fString, CHR(32), " ")
fString = Replace(fString, CHR(9), " ")
fString = Replace(fString, CHR(34), """)
fString = Replace(fString, CHR(39), "'")
fString = Replace(fString, CHR(13), "")
fString = Replace(fString, CHR(10) & CHR(10), "</P><P> ")
fString = Replace(fString, CHR(10), "<br /> ")
fString=chkBadWords(fString)
HTMLEncode = fString
end if
end function
' 清除HTML代码
public function clearHTML(code)
if isNull(code) then exit function
dim objRegExp
set objRegExp=new regExp
objRegExp.IgnoreCase=true
objRegExp.Global=true
objRegExp.Pattern="<[^<>]+>"
if objRegExp.test(code) then
code = objRegExp.replace(Code,"")
end If
set objRegExp = nothing
code=chkBadWords(code)
code= replace(code," "," ")
clearHTML= code
end function
'替换字符
public function codeReplace(strer)
strer=strer
if strer="" or isnull(strer) then
codeReplace="":exit function
end if
if asUser(8)=1 then
strer=replace(strer,"{$siteName}",asInfo(0))
strer=replace(strer,"{$siteURL}",asInfo(1))
strer=replace(strer,"{$siteEmail}",asInfo(7))
strer=replace(strer,"{$company}",asInfo(9))
strer=replace(strer,"{$address}",asInfo(10))
strer=replace(strer,"{$postcode}",asInfo(11))
strer=replace(strer,"{$phone}",asInfo(12))
strer=replace(strer,"{$fax}",asInfo(13))
end if
strer=chkBadWords(strer)
codeReplace=strer
end function
' 过滤脏话
public function chkBadWords(str)
if isNull(str) then exit function
dim i
for i = 0 to UBound(badwords)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -