防注入记录

<% if Instr(session("AdminPurview"),"|39,")=0 then response.write ("
您没有管理该模块的权限！
") response.end end if '========判断是否具有管理权限 %> <%dim Action Action = Request("Action") If Action="del" Then Call Delip() ElseIf Action="lock" Then Call lockIP() ElseIf Action="unlock" Then Call UnLockip() ElseIf Action="Logout" Then Call Logout() Else Call Main() End If Sub Delip() conn.execute("delete from wygkcndiv_NoHackSql where SqlIn_ID="&request("SqlIn_ID")) Call Main() End sub Sub Lockip() conn.execute("update wygkcndiv_NoHackSql set Kill_ip=true where SqlIn_ID="&request("SqlIn_ID")) Call Main() End sub Sub UnLockip() conn.execute("update wygkcndiv_NoHackSql set Kill_ip=False where SqlIn_ID="&request("SqlIn_ID")) Call Main() End sub Sub Main() %>

ID | 操作IP | 是否锁定 | 操作页面 | 操作时间 | 提交方式 | 提交参数 | 提交数据 | 操作 | 选择
<% HackSqlInList() %>

<% End Sub %> <% '----------------------------------------------------------- function HackSqlInList() dim idCount'记录总数 dim pages'每页条数 pages=20 dim pagec'总页数 dim page'页码 page=clng(request("Page")) dim pagenc '每页显示的分页页码数量=pagenc*2+1 pagenc=2 dim pagenmax '每页显示的分页的最大页码 dim pagenmin '每页显示的分页的最小页码 dim datafrom'数据表名 datafrom="wygkcndiv_NoHackSql" dim datawhere'数据条件 datawhere="" dim sqlid'本页需要用到的id dim Myself,PATH_INFO,QUERY_STRING'本页地址和参数 PATH_INFO = request.servervariables("PATH_INFO") QUERY_STRING = request.ServerVariables("QUERY_STRING")' if QUERY_STRING = "" or Instr(PATH_INFO & "?" & QUERY_STRING,"Page=")=0 then Myself = PATH_INFO & "?" else Myself = Left(PATH_INFO & "?" & QUERY_STRING,Instr(PATH_INFO & "?" & QUERY_STRING,"Page=")-1) end if dim taxis'排序的语句 taxis="order by SqlIn_ID desc" dim i'用于循环的整数 dim rs,sql'sql语句 '获取记录总数 sql="select count(SqlIn_ID) as idCount from ["& datafrom &"]" & datawhere set rs=server.createobject("adodb.recordset") rs.open sql,conn,0,1 idCount=rs("idCount") '获取记录总数 if(idcount>0) then'如果记录总数=0,则不处理 if(idcount mod pages=0)then'如果记录总数除以每页条数有余数,则=记录总数/每页条数+1 pagec=int(idcount/pages)'获取总页数 else pagec=int(idcount/pages)+1'获取总页数 end if '获取本页需要用到的id============================================ '读取所有记录的id数值,因为只有id所以速度很快 sql="select SqlIn_ID from ["& datafrom &"] " & datawhere & taxis set rs=server.createobject("adodb.recordset") rs.open sql,conn,1,1 rs.pagesize = pages '每页显示记录数 if page < 1 then page = 1 if page > pagec then page = pagec if pagec > 0 then rs.absolutepage = page for i=1 to rs.pagesize if rs.eof then exit for if(i=1)then sqlid=rs("SqlIn_ID") else sqlid=sqlid &","&rs("SqlIn_ID") end if rs.movenext next '获取本页需要用到的id结束============================================ end if '----------------------------------------------------------- '----------------------------------------------------------- if(idcount>0 and sqlid<>"") then'如果记录总数=0,则不处理 '用in刷选本页所语言的数据,仅读取本页所需的数据,所以速度快 sql="select * from ["& datafrom &"] where SqlIn_ID in("& sqlid &") "&taxis set rs=server.createobject("adodb.recordset") rs.open sql,conn,0,1 while(not rs.eof)'填充数据到表格 Response.Write "
" & vbCrLf Response.Write ""&rs("SqlIn_ID")&"" & vbCrLf Response.Write ""&rs("SqlIn_IP")&"" & vbCrLf Response.Write "" if rs("Kill_ip")=true then response.write "已锁定" else response.write "已解锁" end if Response.Write "" Response.Write ""&rs("SqlIn_WEB")&"" & vbCrLf Response.Write ""&rs("SqlIn_TIME")&"" & vbCrLf Response.Write ""&rs("SqlIn_FS")&"" & vbCrLf if len(rs("SqlIn_CS"))>13 then Response.Write ""&left(rs("SqlIn_CS"),10)&"..." & vbCrLf else Response.Write ""&rs("SqlIn_CS")&"" & vbCrLf end if if len(rs("SqlIn_SJ"))>24 then Response.Write ""&left(rs("SqlIn_SJ"),21)&"..." & vbCrLf else Response.Write ""&rs("SqlIn_SJ")&"" & vbCrLf end if Response.Write "删除 " if rs("Kill_ip")=True then response.write "解锁IP" else response.write "锁定IP" end if response.write "" Response.Write "" & vbCrLf Response.Write "
" & vbCrLf rs.movenext wend Response.Write "
" & vbCrLf Response.Write " " & vbCrLf Response.Write "
" & vbCrLf else response.write "
暂无注入操作记录
" end if '----------------------------------------------------------- '----------------------------------------------------------- Response.Write "
" & vbCrLf Response.Write "" & vbCrLf Response.Write "

" & vbCrLf Response.Write "
" & vbCrLf Response.Write "
共计："&idcount&"条记录 页次："&page&"/"&pagec&" 每页："&pages&"条 " & vbCrLf Response.Write " | " & vbCrLf '设置分页页码开始=============================== pagenmin=page-pagenc '计算页码开始值 pagenmax=page+pagenc '计算页码结束值 if(pagenmin<1) then pagenmin=1 '如果页码开始值小于1则=1 if(page>1) then response.write ("9 ") '如果页码大于1则显示(第一页) if(pagenmin>1) then response.write ("7 ") '如果页码开始值大于1则显示(更前) if(pagenmax>pagec) then pagenmax=pagec '如果页码结束值大于总页数,则=总页数 for i = pagenmin to pagenmax'循环输出页码 if(i=page) then response.write (" "& i &" ") else response.write ("["& i &"]") end if next if(pagenmax 8 ") '如果页码结束值小于总页数则显示(更后) if(page: ") '如果页码小于总页数则显示(最后页) '设置分页页码结束=============================== Response.Write "跳到：第 页" & vbCrLf Response.Write "" & vbCrLf Response.Write " " & vbCrLf Response.Write "
" & vbCrLf Response.Write "

" & vbCrLf rs.close set rs=nothing Response.Write "" & vbCrLf Response.Write "
" & vbCrLf '----------------------------------------------------------- '----------------------------------------------------------- end function %>