%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<% Option Explicit %>
<%session.CodePage="936"%>
<%
Response.Buffer = True
Response.Expires = -1
Response.ExpiresAbsolute = Now() - 1
Response.Expires = 0
Response.CacheControl = "no-cache"
response.Charset = "gb2312"
Dim Conn,User_Conn,review_Sql,review_RS,Cookie_Domain
Dim Server_Name,Server_V1,Server_V2
Dim TmpStr,TmpArr,ReviewTypes,needAudited,ReviewIP
Dim HaveDvbbs,HaveOblog
Dim stype,Id,UserNumber,noname,password,title,Action,content,LimitReviewChar
TmpStr = "":needAudited = True
MF_Default_Conn
MF_User_Conn
Cookie_Domain = Get_MF_Domain()
if Cookie_Domain="" then
Cookie_Domain = "localhost"
else
if left(lcase(Cookie_Domain),len("http://"))="http://" then Cookie_Domain = mid(Cookie_Domain,len("http://")+1)
if right(Cookie_Domain,1)="/" then Cookie_Domain = mid(Cookie_Domain,1,len(Cookie_Domain) - 1)
end if
''防盗连
Dim Main_Name,Name_Str1,V_MainName,V_Str
Server_Name = NoHtmlHackInput(NoSqlHack(LCase(Trim(Request.ServerVariables("SERVER_NAME")))))
IF Server_Name <> LCase(Split(Cookie_Domain,"/")(0)) Then
Response.Write ("没有权限访问")
Response.End
End If
Server_V1 = NoHtmlHackInput(NoSqlHack(Trim(Replace(Lcase(Cstr(Request.ServerVariables("HTTP_REFERER"))),"http://",""))))
Server_V1 = Replace(Replace(Server_V1,"//","/"),"///","/")
IF Server_V1 = "" Then
Response.Write ("没有权限访问")
Response.End
End If
IF Instr(Server_V1,"/") = 0 Then
Server_V2 = Server_V1
Else
Server_V2 = Split(Server_V1,"/")(0)
End If
If Instr(Server_Name,".") = 0 Then
Main_Name = Server_Name
Else
Name_Str1 = Split(Server_Name,".")(0)
Main_Name = Trim(Replace(Server_Name,Name_Str1 & ".",""))
End If
If Instr(Server_V2,".") = 0 Then
V_MainName = Server_V2
Else
V_Str = Split(Server_V2,".")(0)
V_MainName = Trim(Replace(Server_V2,V_Str & ".",""))
End If
If Main_Name <> V_MainName And (Main_Name = "" OR V_MainName = "") Then
Response.Write ("没有权限访问")
Response.End
End If
stype = NoSqlHack(request.Form("type")) 'NS
Id = NoSqlHack(request.Form("Id")) 'Id
UserNumber = trim(NoSqlHack(request.Form("UserNumber")))
password = md5(request.Form("password"),16)
noname = NoSqlHack(request.Form("noname")) ''匿名 UserNumber=0
title = NoHtmlHackInput(ReplaceKeys(NoSqlHack(request.Form("title"))))
content = NoHtmlHackInput(ReplaceKeys(NoSqlHack(request.Form("content"))))
Action = NoHtmlHackInput(NoSqlHack(request.Form("Action")))
if Action="" then Call HTMLEnd("Action不能为空","back")
if stype="" then Call HTMLEnd("type不能为空","back")
if title="" then Call HTMLEnd("评论标题不能为空","back")
if content="" then Call HTMLEnd("评论内容不能为空","back")
if len(content)>1000 then Call HTMLEnd("评论内容超过1000字符。中文算两个字符。","back")
if not isnumeric(Id) then Call HTMLEnd("Id必须是数字","back")
if noname="" and noname<>"1" Then
If UserNumber="" Or password="" Then
If Session("FS_UserNumber")<>"" And session("FS_UserPassword") <> "" Then
UserNumber=session("FS_UserNumber")
password = session("FS_UserPassword")
Else
if UserNumber="" then Call HTMLEnd("用户名不能为空","back")
if password="" then Call HTMLEnd("用户密码不能为空","back")
End If
Else
If Session("FS_UserNumber")<>"" And session("FS_UserPassword") <> "" Then
UserNumber=session("FS_UserNumber")
password = session("FS_UserPassword")
Else
UserNumber = UserNumber
End If
End If
else
UserNumber = "0"
end if
'------
set review_RS=User_Conn.execute("select top 1 ReviewTF,LimitReviewChar from FS_ME_SysPara")
if not review_RS.eof then : if not isnull(review_RS(0)) then : needAudited=cbool(review_RS(0)):LimitReviewChar=review_RS(1)
RsClose
If UserNumber<>"0" then
Dim t_return,t_returnStr,CheckUserObj,t_returnPas
If HaveDvbbs=1 or HaveOblog=1 Then
t_return = Login(UserNumber,password,0)
else
Set CheckUserObj = User_Conn.ExeCute("select UserNumber,UserPassWord from FS_ME_Users where UserName='"&UserNumber&"' and UserPassWord='"&password&"' or ( UserNumber='"&UserNumber&"' and UserPassWord='"&password&"')")
If Not CheckUserObj.Eof Then
t_returnStr = CheckUserObj(0)
t_returnPas = CheckUserObj(1)
t_return = True
Else
t_return = False
End If
CheckUserObj.Close : Set CheckUserObj = Nothing
end if
if t_return then
If Session("FS_UserNumber") = "" Or session("FS_UserPassword") = "" THen
Session("FS_UserNumber") = t_returnStr
session("FS_UserPassword") = t_returnPas
End if
UserNumber = t_returnStr
else
Call HTMLEnd("用户名或密码错误,请重新输入。","back")
end if
end if
select case ucase(stype)
case "NS"
ReviewTypes=0
If CheckReviewTF(Id)=False Then Call HTMLEnd("该信息不允许评论","back")
case "DS"
ReviewTypes=1
if not needAudited then
'如果不需要审核则看该条下载是否需要
set review_RS=Conn.execute("select ShowReviewTF,ReviewTF from FS_DS_List where ID = "&Id)
if not review_RS.eof then
If review_RS("ReviewTF")<>1 Then
Call HTMLEnd("该信息不允许评论","back")
Else
if not isnull(review_RS("ShowReviewTF")) then
needAudited=cbool(review_RS("ShowReviewTF"))
End If
End If
end if
RsClose
end if
case "MS"
ReviewTypes=2
case "HS"
ReviewTypes=3
case "SD"
ReviewTypes=4
case "LOG"
ReviewTypes=5
case else
Call HTMLEnd("Error:type("&stype&") is not found!","back")
end select
ReviewIP = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
if ReviewIP="" then ReviewIP = Request.ServerVariables("REMOTE_ADDR")
Call review_Data()
Fs_User.close
set Fs_User=Nothing
User_Conn.close
Conn.close
'/* Functions */
Sub HTMLEnd(Info,URL)
if URL="back" then
response.Write("")
response.End()
elseif URL<>"" then
response.Write("")
response.End()
else
response.Write(""&Info&"
大安市美桥广告公司"&vbNewLine)
response.End()
end if
End Sub
Sub review_Data()
Dim UserName
review_Sql = "select UserNumber,InfoID,ReviewTypes,Title,Content,AddTime,ReviewIP,isLock,AdminLock,QuoteID from FS_ME_Review where ReviewID=0"
set review_RS = CreateObject(G_FS_RS)
review_RS.Open review_Sql,User_Conn,1,3
if review_RS.eof then
review_RS.addnew
review_RS("ReviewTypes") = ReviewTypes
review_RS("InfoID") = Id
review_RS("UserNumber") = UserNumber
review_RS("Title") = title
review_RS("content") = content
review_RS("QuoteID") = 0
review_RS("isLock") = 0
''需要审核
if needAudited then
review_RS("AdminLock") = 1
else
review_RS("AdminLock") = 0
end if
review_RS("AddTime") = now
review_RS("ReviewIP") = ReviewIP
review_RS.update
RsClose:Set User_Conn = Nothing
if needAudited then TmpStr = "我们审核通过后即可显示。"
Call HTMLEnd("感谢您的评论。"&TmpStr,"back")
else
end if
End Sub
''得到相关表的值。
Function Get_OtherTable_Value(This_Fun_Sql)
Dim This_Fun_Rs
if instr(This_Fun_Sql," FS_ME_")>0 then
set This_Fun_Rs = User_Conn.execute(This_Fun_Sql)
else
set This_Fun_Rs = Conn.execute(This_Fun_Sql)
end if
if instr(lcase(This_Fun_Sql)," in ")>0 then
do while not This_Fun_Rs.eof
Get_OtherTable_Value = Get_OtherTable_Value & This_Fun_Rs(0) &" "
This_Fun_Rs.movenext
loop
else
if not This_Fun_Rs.eof then
Get_OtherTable_Value = This_Fun_Rs(0)
else
Get_OtherTable_Value = ""
end if
end if
set This_Fun_Rs=nothing
End Function
Function CheckReviewTF(NewsID)
Dim CheckRs,CheckSql,TempArr
CheckSql="Select NewsProperty From FS_NS_News Where ID="&NewsID
Set CheckRs=Server.CreateObject(G_FS_RS)
CheckRs.Open CheckSql,Conn,1,1
If CheckRs.Eof Then
CheckReviewTF=False
Else
TempArr=Split(CheckRs("NewsProperty"),",")
If TempArr(2)="1" Then
CheckReviewTF=True
Else
CheckReviewTF=False
End If
End If
CheckRs.Close
Set CheckRs=Nothing
End Function
''过滤关键字
Function ReplaceKeys(Content)
ReplaceKeys=Content
Dim KeyRs,KWDs,KArray,k
If Content = "" Or IsNull(Content) Then
ReplaceKeys = ""
Exit Function
End If
Set KeyRs = User_Conn.ExeCute("Select Top 1 LimitReviewChar From FS_ME_SysPara Where SysID > 0 Order By SysID")
If KeyRs.Eof Then
ReplaceKeys = Content
Else
KWDs = KeyRs(0)
If KWDs = "" Or IsNull(KWDs) Then
ReplaceKeys = Content
Else
If Instr(KWDs,",") > 0 Then
KArray = Split(KWDs,",")
For k = Lbound(KArray) To Ubound(KArray)
ReplaceKeys = Replace(ReplaceKeys,KArray(k),"**")
Next
Else
ReplaceKeys = Replace(ReplaceKeys,KWDs,"**")
End If
End If
End If
KeyRs.Close : Set KeyRs = Nothing
End Function
Sub RsClose()
review_RS.Close
Set review_RS = Nothing
end Sub
%>