📄 lockipok.asp
字号:
<%@ codepage ="936" %>
<%Response.Buffer = True
Response.Expires = 0
Response.CacheControl = "Private"
bgcolor="#DCD8D0"
Sub Msg(v)
Response.Write "<meta http-equiv='Content-Type' content='text/html; charset=gb2312'><meta http-equiv='pragma' content='no-cache'><body bgcolor=" & bgcolor & " text=#000000>"
Response.Write "<script Language=JavaScript>"
Response.Write "alert('" & v & "');javascript:window.close();"
Response.Write "</script>"
Response.End
End Sub
nickname=Session("hxf_u_nickname")
ipbt=int(session("ipbt"))
grade=Int(Session("hxf_u_grade"))
if Session("hxf_u_inthechat")<>"1" and nickname<>"聊天室管理员" then Msg "不在聊天室中,不能封锁!"
if nickname="" or Session("hxf_u_inthechat")<>"1" then Msg "不在聊天室中,不能封锁"
userip=Request.ServerVariables("REMOTE_ADDR")
lockname=Server.HTMLEncode(Trim(Request.Form("f1")))
if lockname="" then Msg "请确定封锁对象"
f2 = Server.HTMLEncode(Trim(Request.Form("f2")))
f2 = Replace(f2, Chr(13) & Chr(10), "")
f2 = Server.HTMLEncode(f2)
f2 = Replace(f2, "\", "\\")
f2 = Replace(f2, "/", "\/")
f2 = Replace(f2, "'", "\'")
f2 = Replace(f2, Chr(34), "\" & Chr(34))
lockwhy = f2
if len(lockwhy)>50 then lockwhy=Left(lockwhy,50)
if lockwhy="" then Msg "必须填写封锁 IP 的理由"
if CStr(lockname)=CStr(nickname) then Msg "不能够封锁自己"
onlinelist=Application("wsaxhxf_c_onlinelist")
cz=0
ubl=UBound(onlinelist)
for i=1 to ubl step 8
if CStr(onlinelist(i+1))=CStr(lockname) then
cz=1
lockname=onlinelist(i+1)
lockgrade=onlinelist(i+6)
end if
next
if cz=0 then Msg "“" & lockname & "” 不在聊天室内,不能封锁!"
If nickname <> "聊天室管理员" Then
mycz=0
ubl=UBound(onlinelist)
for i=1 to ubl step 8
if CStr(onlinelist(i+1))=CStr(nickname) then
mycz=1
end if
next
if mycz=0 then
Session.Abandon
Msg "警告:你不在聊天室内不能封锁!"
end if
End If
If lockname <> "聊天室管理员" And lockgrade = 12 Then Msg "无权将“" & lockname & "”的 IP 封锁!"
logok=Trim(Request.Form("f3"))
if session("ipbt")<>"1" then logok="yes"
if logok<>"no" then logok="yes"
zqfw = 0
If grade <> 12 Then
lowmanagehigh = Application("wsaxhxf_c_lowmanagehigh")
If lowmanagehigh <> 1 And lockgrade >= grade Then Msg "“" & lockname & "”的级别不比你低。\n\n管理员禁止低级管理高级及同级!"
qx = Split(Application("wsaxhxf_c_grade" & grade), "{]")
If qx(9) = "1" Then zqfw = 1
If zqfw = 0 Then
moneymanage = Application("wsaxhxf_c_moneymanage")
If moneymanage <> 1 Then Msg "权限不足。\n\n管理员禁用货币管理功能!"
lockvalue = Int(Application("wsaxhxf_c_lockvalue"))
If Int(Session("hxf_u_hb")) < lockvalue Then Msg "货币不足 " & lockvalue & "¥,不能非权限踢人。\n\n您当前剩余货币: " & Int(Session("hxf_u_hb")) & "¥。"
End If
Else
zqfw = 1
End If
Set conn=Server.CreateObject("ADODB.CONNECTION")
Set rs=Server.CreateObject("ADODB.RecordSet")
connstr=Application("wsaxhg_connstr")
conn.open connstr
sql="SELECT lastip FROM reginfo WHERE username='" & lockname & "'"
rs.open sql,conn,1,1
if Not(rs.Eof and rs.Bof) then
lastip=rs("lastip")
rs.close
conn.close
set rs=nothing
set conn=nothing
else
rs.close
conn.close
set rs=nothing
set conn=nothing
Msg "此用户不存在,无法封锁"
end if
lockip=Server.HTMLEncode(Trim(lastip))
if lockip="" then Msg "此用户数据查询错误,无法封锁"
n=Year(date())
y=Month(date())
r=Day(date())
s=Hour(time())
f=Minute(time())
m=Second(time())
if len(y)=1 then y="0" & y
if len(r)=1 then r="0" & r
if len(s)=1 then s="0" & s
if len(f)=1 then f="0" & f
if len(m)=1 then m="0" & m
t=s & ":" & f & ":" & m
sj=n & "-" & y & "-" & r & " " & t
lockvalueno = Int(Application("wsaxhxf_c_lockvalueno"))
Set conn=Server.CreateObject("ADODB.CONNECTION")
Set rs=Server.CreateObject("ADODB.RecordSet")
connstr=Application("wsaxhg_connstr")
conn.open connstr
If zqfw = 0 Then
sql="SELECT hb FROM reginfo WHERE kill='0' and username='" & nickname & "'"
rs.open sql,conn,1,3
if Not(rs.Eof and rs.Bof) then
rs("hb")=rs("hb") - lockvalue
Session("hxf_u_hb")=rs("hb")
rs.Update
end if
rs.close
end if
sql="SELECT ip FROM iplocktemp WHERE ip='" & lockip & "'"
rs.open sql,conn,1,1
if Not(rs.Eof and rs.Bof) then
rs.close
conn.close
set rs=nothing
set conn=nothing
Msg "该 IP 已经被封锁了,不能重复封锁。"
end if
rs.close
if lockname<>"" then
Application.Lock
onlinelist=Application("wsaxhxf_c_onlinelist")
dim newonlinelist()
useronlinename=""
onliners=0
js=1
for i=1 to UBound(onlinelist) step 8
if CStr(onlinelist(i+1))<>CStr(lockname) then
onliners=onliners+1
useronlinename=useronlinename & " " & onlinelist(i+1)
Redim Preserve newonlinelist(js),newonlinelist(js+1),newonlinelist(js+2),newonlinelist(js+3),newonlinelist(js+4),newonlinelist(js+5),newonlinelist(js+6),newonlinelist(js+7)
newonlinelist(js)=onlinelist(i)
newonlinelist(js+1)=onlinelist(i+1)
newonlinelist(js+2)=onlinelist(i+2)
newonlinelist(js+3)=onlinelist(i+3)
newonlinelist(js+4)=onlinelist(i+4)
newonlinelist(js+5)=onlinelist(i+5)
newonlinelist(js+6)=onlinelist(i+6)
newonlinelist(js+7)=onlinelist(i+7)
js=js+8
else
kickip=onlinelist(i+2)
end if
next
useronlinename=useronlinename&" "
if kickip=lockip then
if onliners=0 then
dim listnull(0)
Application("wsaxhxf_c_onlinelist")=listnull
else
Application("wsaxhxf_c_onlinelist")=newonlinelist
end if
Application("wsaxhxf_c_useronlinename")=useronlinename
Application("wsaxhxf_c_chatrs")=onliners
else
Application.UnLock
Msg "要封锁的 IP 与用户名不对应。"
end if
end if
f1cz = 1
sql="SELECT lastkick,hb FROM reginfo WHERE kill='0' and username='" & lockname & "'"
rs.open sql,conn,1,3
If rs.EOF And rs.Bof Then
rs.Close
f1cz = 0
End If
If f1cz = 1 Then
hb = Int(rs("hb"))
If hb >= lockvalueno Then
f1upmoney = lockvalueno
Else
f1upmoney = hb
If f1upmoney < 0 Then f1upmoney = 0
End If
hb = hb - lockvalueno
if hb < 0 then hb = 0
rs("hb")=hb
rs("lastkick")=sj
rs.Update
end if
rs.close
If f1upmoney > 0 Then
sql = "SELECT value FROM system WHERE name='chatmoney'"
rs.open sql, conn, 1, 3
chatmoney = Int(rs("value")) + f1upmoney
rs("value") = chatmoney
rs.Update
rs.Close
Application.Lock
Application("wsaxhxf_c_chatmoney") = chatmoney
Application.UnLock
End If
Function SqlStr(data)
SqlStr="'" & Replace(data,"'","''") & "'"
End Function
sql="INSERT INTO iplocktemp (ip,lockdate,locker) VALUES ("
sql=sql & SqlStr(lockip) & ","
sql=sql & SqlStr(sj) & ","
sql=sql & SqlStr(nickname) & ")"
conn.Execute sql
If zqfw = 1 Then
if logok="yes" then
sql = "INSERT INTO logs (type, logtime, name, ip, opertion) VALUES ('0', '" & sj & "', '" & nickname & "', '" & userip & "', '封锁IP:<font color=red>" & lockip & "</font>(<font color=blue>" & lockname & "</font>)!<br><font color=009900>【原因:" & lockwhy & "】</font>')"
conn.Execute sql
end if
else
sql = "INSERT INTO logs (type, logtime, name, ip, opertion) VALUES ('0', '" & sj & "', '" & nickname & "', '" & userip & "', '用钱堵住IP:<font color=red>" & lockip & "</font>(<font color=blue>" & lockname & "</font>)!<br><font color=009900>【原因:" & lockwhy & "】</font>')"
conn.Execute sql
end if
conn.close
set conn=nothing
Session("hxf_u_lasttime")=sj
Application.Lock
sd=Application("wsaxhxf_c_sd")
line=int(Application("wsaxhxf_c_line"))
Application("wsaxhxf_c_line")=line+1
Dim newsd(180)
j=1
for i=10 to 180 step 9
newsd(j)=sd(i)
newsd(j+1)=sd(i+1)
newsd(j+2)=sd(i+2)
newsd(j+3)=sd(i+3)
newsd(j+4)=sd(i+4)
newsd(j+5)=sd(i+5)
newsd(j+6)=sd(i+6)
newsd(j+7)=sd(i+7)
newsd(j+8)=sd(i+8)
j=j+9
next
newsd(172)=line+1
newsd(173)=1
newsd(174)=0
newsd(175)=nickname
newsd(176)="大家"
newsd(177)="660099"
newsd(178)="660099"
newsd(179)="对"
If zqfw = 1 Then
newsd(180)="<font color=black>【封锁】</font><font color=8800FF><font color=red>" & nickname & "</font>封锁IP:<font color=red>" & lockip & "</font>(" & lockname & ")……〖原因:" & lockwhy & "〗</font><font class=t>(" & t & ")</font>"
else
newsd(180)="<font color=black>【封锁】</font><font color=8800FF><font color=red>" & nickname & "</font>用钱堵住封锁IP:<font color=red>" & lockip & "</font>(" & lockname & ")……〖原因:" & lockwhy & "〗</font><font class=t>(" & t & ")</font>"
end if
Application("wsaxhxf_c_sd")=newsd
Application.UnLock
If nickname = "聊天室管理员" Or zqfw = 1 Then
Msg "■ 操作完成 ■\n\n已将“" & lockname & "”的 IP 封锁!"
Else
Msg "■ 操作完成 ■\n\n已用钱将“" & lockname & "”的 IP 堵住!\n\n当前剩余货币:" & Int(Session("hxf_u_hb")) & "¥。"
End If
Response.End
%>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -