ASP后台操作日志记录代码(搜集整理)

方法一:

 

对一个上规模的管理系统,由于参与管理的人非常多,操作者的权限分配和操作日志 记录都是十分重要的。
权限分配要根据各个系统的事务逻辑而定,我这里谈一下如果构建一个良好的操作日志记录的方案。
我这里以操作一张财务流水表countlist为例:
1、在countlist中新增加一个字段op_flow,类型为text,可为空;
2、记录日志,每对这张countlist表进行操作,并且操作成功时,调用如下代码:
      conn.open constr
      set rs_t = conn.execute (" select isnull(op_flow,'') as op_flow from countlist where id="&id)
      str = rs_t("op_flow")
      rs_t.close
      strAct="××操作"
      str =now() & ":" &session("user_name")& ":" &strAct& "|" &str        '// 格式为 时间:操作人:操作,|为分隔符
      sql = " update countlist set op_flow='"&str&"' where id="&id
      conn.execute(sql)
      conn.close

3、显示日志,在显示日志的页面使用如下代码:
        if not isnull(op_flow) then
                ii=0
                for each str in split(op_flow,"|")
                        if str<> "" then response.write str&"<br>"
                        ii=ii+1
                        if ii=6 then exit for        '// 显示最新的六条操作
                next
        end if

 

 

 

 

 

方法二:

 

<%
name=request.form("name")
pass=md5(md5(request.form("pass")))
if instr(pass,"'")>0 or instr(name,"'")>0 then
conn.Execute "INSERT INTO log(username,action,ip,sj) VALUES('Guest_login','有危险字符"&trim(request.QueryString("name"))&"-"&trim(request.QueryString("pass"))&"','"&Request.ServerVariables("Remote_Addr") &"','"&now()&"' )"
response.redirect "/error/error.asp?T=1"
else
set rs=server.createobject("adodb.recordset")
sql="select * from admin where name='"&name&"' and pass='"&pass&"'"
rs.open sql,conn,3,3
if not rs.eof and not rs.bof then
session("admin")=rs("name")
session("adminid")=rs("id")

rs("lastip")=Request.serverVariables("REMOTE_ADDR")
rs("lastsj")=now
rs("n")=rs("n")+1
rs.update
response.redirect "index.asp"
else
conn.Execute "INSERT INTO log(username,action,ip,sj) VALUES('"&name&"','密码有错为"&request.form("pass")&"','"&Request.ServerVariables("Remote_Addr") &"','"&now()&"' )"
response.redirect "/error/error.asp?T=1"
end if
rs.close
set rs=nothing
conn.close
set conn=nothing
end if
%>

上面是我自己写的,当用户输入密码错误的时候,都会把相关的信息保存到一个log的表中




方法三:


<%
function   logwrite(action)

set  
recobj_log=server.CreateObject( "ADODB.Recordset ")

recobj_log.ActiveConnection   =   conobj
recobj_log.Source= "INSERT
  INTO   syslog   (userip,username,useraction,usertime)   VALUES( '
"&   request.ServerVariables( "remote_addr ")   & " ', ' "&  
session( "truename ")   & " ', ' "&   action   & " ', '
"&   now()   & " ') "
recobj_log.Open  



方法四:


在数据库中添加一个表log(id,name,date,time,memo)id作为序号,name是操作者的名字,date是日期,time为时间,memo为其具体的操作。

你可以在删除(添加、修改)的动作执行结束的时候,添加些向数据库记录的代码。
比如 删除 在操作者点了删除按钮后,一定会有一段代码去数据库中删除相应的文章,在删除的时候要记录下文章的标题,保存到变量title当中。在删除完成后打开log表,添加一条新的记录,name应该可以在session中可以读到,再获得系统时间和日期,然后
memo="删除文章‘"&title"’"。至于如何显示这个表你应该会作了吧。
recobj_log.Source,recobj_log.ActiveConnection,1,3
recobj_log.Close

set   recobj_log=nothing

end   function
%>
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值