commond.asp
来自「一套非常实用的博客源代码,功能全,界面简单易用.」· ASP 代码 · 共 422 行 · 第 1/2 页
ASP
422 行
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<%Option Explicit
Response.Buffer = True
Server.ScriptTimeOut = 180
Session.CodePage=65001
If Trim(Request.QueryString("CP"))="GBK" Then Session.CodePage = 936
'定义 Cookie,Application 域,必须修改,否则可能运行不正常
Const CookieName="zblog"
'站点开关操作
IF Not isNumeric(Application(CookieName & "_SiteEnable")) Then
Application.Lock
Application(CookieName & "_SiteEnable") = 1
Application(CookieName & "_SiteDisbleWhy") = ""
Application.UnLock
End IF
IF Application(CookieName & "_SiteEnable") = 0 AND Application(CookieName & "_SiteDisbleWhy")<>"" AND inStr(Replace(Lcase(Request.ServerVariables("URL")),"\","/"),"/admincp.asp") = 0 AND inStr(Replace(Lcase(Request.ServerVariables("URL")),"\","/"),"/logging.asp") = 0 Then
Response.Write(Application(CookieName & "_SiteDisbleWhy"))
Response.End
End IF
Dim StartTime,SQLQueryNums
StartTime=Timer()
SQLQueryNums=0
DIM MaxUrl,MaxHttp
IF session("memStatus")<>"Admin" AND session("memStatus")<>"SupAdmin" Then
MaxUrl=2
MaxHttp=4
else
MaxUrl=50
MaxHttp=50
end if
'定义数据库链接文件,根据自己的情况修改
Const AccessPath="blogdata"
Const AccessFile="blog.mdb"
Const IPAccessFile="ipdata.asa"
'定义数据库连接
Dim znwl
On Error Resume Next
Set znwl= Server.CreateObject("ADODB.Connection")
znwl.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(AccessPath&"/"&AccessFile)
znwl.Open
If Err Then
Err.Clear
Set znwl = Nothing
Response.Write("<head><meta http-equiv=""Content-Type"" content=""text/html; charset=utf-8"" /><title>数据库连接出错,请和管理员联系admin@znwl.com</title></head><body><div align=""center"" style=""width:400px;height:100px;padding: 8px;font-size:9pt;border: 1px solid ThreeDShadow;POSITION:absolute;top:expression((document.body.offsetHeight-100)/2);left:expression((document.body.offsetWidth-400)/2);""><table width=""100%"" height=""100%"" style=""font-size:12px;font-family:Tahoma;""><tr><td align=""center""><strong>数据库连接出错,请检查连接字串</strong></td></tr></table></div></body>")
Response.End
End If
dim Badwords
BadWords="鸡巴|鸡|干你|操你|日你|妈的"'这里的X为你要过滤的字
function ChkBadWords(strContent)
dim bwords,i
bwords = split(BadWords, "|")
for i = 0 to ubound(bwords)
strContent = Replace(strContent, bwords(i), string(len(bwords(i)),"×"))
next
strContent = Replace(strContent, "'","") '顺便过滤了一下单引号
ChkBadWords = strContent
end function
Dim SQL,TempVar,siteTitle '定义常用变量
Dim blog_Infos,SiteName,SiteUrl,blogPerPage,blog_LogNums,blog_CommNums,blog_MemNums,blog_VisitBaseNums,blog_VisitNums,blog_QuoteNums,blog_GuestbookNums,blog_downloadNums,blog_SpamIP,blog_photoNums,threadPerPage,postPerPage,blog_New,blog_PostNums,blog_ThreadNums,blog_qq,blog_time,blog_reg
Set blog_Infos=Server.CreateObject("ADODB.Recordset")
SQL="SELECT * FROM blog_Info"
blog_Infos.Open SQL,znwl,1,1
SQLQueryNums=SQLQueryNums+1
If blog_Infos.EOF And blog_Infos.BOF Then
Response.Write("站点出错,请检查数据库中的站点基本信息设置……")
Response.End
Else
SiteName=blog_Infos("blog_Name")
SiteURL=blog_Infos("blog_URL")
blogPerPage=blog_Infos("blog_PerPage")
blog_LogNums=blog_Infos("blog_LogNums")
blog_CommNums=blog_Infos("blog_CommNums")
blog_GuestbookNums=blog_Infos("blog_GuestbookNums")
blog_MemNums=blog_Infos("blog_MemNums")
blog_QuoteNums=blog_Infos("blog_QuoteNums")
blog_VisitBaseNums=blog_Infos("blog_VisitBaseNums")
blog_VisitNums=blog_Infos("blog_VisitNums")+blog_VisitBaseNums
blog_downloadNums=blog_Infos("blog_downloadNums")
blog_SpamIP=blog_Infos("blog_SpamIP")
blog_photoNums=blog_Infos("blog_photoNums")
blog_ThreadNums=blog_Infos("blog_ThreadNums")
blog_PostNums=blog_Infos("blog_PostNums")
threadPerPage=blog_Infos("thread_PerPage")
postPerPage=blog_Infos("post_PerPage")
blog_New=blog_Infos("blog_New")
blog_qq=blog_Infos("blog_qq")
blog_time=blog_Infos("blog_time")
blog_reg=blog_Infos("blog_reg")
End If
blog_Infos.Close
Set blog_Infos=Nothing
Dim Arr_Download
IF Not IsArray(Application(CookieName&"_blog_Download")) Then
Dim log_Download,log_DownloadList
Set log_Download=znwl.Execute("SELECT * FROM blog_Download")
TempVar=""
Do While Not log_Download.EOF
log_DownloadList=log_DownloadList&TempVar&log_Download("downl_ID")&"$|$"&log_Download("downl_Cate")&"$|$"&log_Download("downl_Name")&"$|$"&log_Download("downl_Author")&"$|$"&log_Download("downl_From")&"$|$"&log_Download("downl_FromURL")&"$|$"&log_Download("downl_ImgPath")&"$|$"&log_Download("downl_PostTime")&"$|$"&log_Download("downl_Comment")&"$|$"&log_Download("downl_Dcomm1")&"$|$"&log_Download("downl_Dcomm1URL")&"$|$"&log_Download("downl_Dcomm2")&"$|$"&log_Download("downl_Dcomm2URL")&"$|$"&log_Download("downl_Dcomm3")&"$|$"&log_Download("downl_Dcomm3URL")&"$|$"&log_Download("downl_Dcomm4")&"$|$"&log_Download("downl_Dcomm4URL")&"$|$"&log_Download("downl_Nums")
TempVar="$,$"
log_Download.MoveNext
Loop
Set log_Download=Nothing
Arr_Download=Split(log_DownloadList,"$,$")
Application.Lock
Application(CookieName&"_blog_Download")=Arr_Download
Application.UnLock
Else
Arr_Download=Application(CookieName&"_blog_Download")
End IF
Dim Guest_IP
Guest_IP=Replace(Request.ServerVariables("HTTP_X_FORWARDED_FOR"),"'","")
If Guest_IP=Empty Then Guest_IP=Replace(Request.ServerVariables("REMOTE_ADDR"),"'","")
Dim SpamIP,SpamIPEvery
SpamIP=Split(blog_SpamIP,";")
For Each SpamIPEvery In SpamIP
If Guest_IP = SpamIPEvery Then
Response.Redirect("http://znwl.net/err.asp")
Response.Write.End
End If
Next
'站点统计代码
If Session("GuestIP")<>Guest_IP Then
Dim Guest_Agent,Guest_Month,Guest_Week,Guest_Hour,Guest_OS,Guest_Browser
Guest_Agent=Trim(Request.ServerVariables("HTTP_USER_AGENT"))
Guest_Month=Month(Now())
If Len(Guest_Month)<2 Then
Guest_Month=Year(Now())&"0"&Guest_Month
Else
Guest_Month=Year(Now())&Guest_Month
End If
Guest_Week=WeekDay(Now())-1
Guest_Hour=Hour(Now())
If Len(Guest_Hour)<2 Then Guest_Hour="0"&Guest_Hour
If InStr(Guest_Agent,"Win") Then
Guest_OS="Windows"
ElseIf InStr(Guest_Agent,"Mac") Then
Guest_OS="Mac"
ElseIf InStr(Guest_Agent,"Linux") Then
Guest_OS="Linux"
ElseIf InStr(Guest_Agent,"FreeBSD") Then
Guest_OS="FreeBSD"
ElseIf InStr(Guest_Agent,"SunOS") Then
Guest_OS="SunOS"
ElseIf InStr(Guest_Agent,"BeOS") Then
Guest_OS="BeOS"
ElseIf InStr(Guest_Agent,"OS/2") Then
Guest_OS="OS/2"
ElseIf InStr(Guest_Agent,"AIX") Then
Guest_OS="AIX"
ElseIf InStr(Guest_Agent,"search") Or InStr(Guest_Agent,"Spider") Or InStr(Guest_Agent,"Googlebot") Then
Guest_OS="Search"
Else
Guest_OS="Other"
End If
If InStr(Guest_Agent,"Maxthon") Or InStr(Guest_Agent,"MyIE") Then
Guest_Browser="Maxthon"
ElseIf InStr(Guest_Agent,"MSIE") Then
Guest_Browser="MSIE"
ElseIf InStr(Guest_Agent,"Netscape") Then
Guest_Browser="Netscape"
ElseIf InStr(Guest_Agent,"Konqueror") Then
Guest_Browser="Konqueror"
ElseIf InStr(Guest_Agent,"Firefox") Then
Guest_Browser="Firefox"
ElseIf InStr(Guest_Agent,"search") Or InStr(Guest_Agent,"Spider") Or InStr(Guest_Agent,"Googlebot") Then
Guest_Browser="Search"
ElseIf InStr(Guest_Agent,"Reader") Or InStr(Guest_Agent,"FeedDemon") Then
Guest_Browser="RSSReader"
Else
Guest_Browser="Other"
End If
If znwl.ExeCute("SELECT COUNT(coun_Char) FROM blog_Counter WHERE coun_Type='Month' AND coun_Char='"&Guest_Month&"'")(0)=0 Then
znwl.ExeCute("INSERT INTO blog_Counter(coun_Type,coun_Char,coun_Nums) VALUES ('Month','"&Guest_Month&"',0)")
SQLQueryNums=SQLQueryNums+1
End If
znwl.ExeCute("UPDATE blog_Counter SET coun_Nums=coun_Nums+1 WHERE (coun_Type='OS' AND coun_Char='"&Guest_OS&"') OR (coun_Type='Browser' AND coun_Char='"&Guest_Browser&"') OR (coun_Type='Week' AND coun_Char='"&Guest_Week&"') OR (coun_Type='Hour' AND coun_Char='"&Guest_Hour&"') OR (coun_Type='Month' AND coun_Char='"&Guest_Month&"')")
znwl.ExeCute("UPDATE blog_Info SET blog_VisitNums=blog_VisitNums+1")
SQLQueryNums=SQLQueryNums+3
Session("GuestIP")=Guest_IP
End If
Dim memName,memPassword,memStatus
memName=CheckStr(Request.Cookies(CookieName)("memName"))
memPassword=CheckStr(Request.Cookies(CookieName)("memPassword"))
memStatus=CheckStr(Request.Cookies(CookieName)("memStatus"))
IF memName<>Empty Then
Dim CheckCookie
Set CheckCookie=Server.CreateObject("ADODB.RecordSet")
SQL="SELECT mem_Name,mem_Password,mem_Status,mem_LastIP FROM blog_Member WHERE mem_Name='"&memName&"' AND mem_Password='"&memPassword&"' AND mem_Status='"&memStatus&"'"
CheckCookie.Open SQL,znwl,1,1
SQLQueryNums=SQLQueryNums+1
If CheckCookie.EOF AND CheckCookie.BOF Then
Response.Cookies(CookieName)("memName")=""
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?