以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  问个底层的问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=139190)

--  作者:布莱克朱
--  发布时间:2019/8/7 20:38:00
--  问个底层的问题
delete  表名 where _identify = @p1 是底层删除数据的代码吗? 上次说到的找不到任何痕迹的数据消失,今日另外一家机构也发现同样的问题.


我找不到相关的日志,但是今日在数据库找到这么一条语句,我确定不是我写的代码,所以问问我们删除的代码底层是不是用的这个语句,如果是我就要

想是不是那边有漏洞,如果不是我就要考虑那边还有删除的代码.
[此贴子已经被作者于2019/8/7 20:40:16编辑过]

--  作者:blackzhu
--  发布时间:2019/8/8 8:58:00
--  
所以我想问问是不是我们狐表底层的代码,如果是就奇怪了,居然没有找到我写的任何日志.整个系统删除这个表的数据只有一个按钮,我在里面写了日志的.
--  作者:有点蓝
--  发布时间:2019/8/8 9:08:00
--  
连接测试库,打开sqlprofile跟踪数据库执行的sql,然后点击这个按钮,看看数据库执行的是什么SQL,是不是1楼的那句sql就知道了
--  作者:blackzhu
--  发布时间:2019/8/8 9:09:00
--  
好 我试试


--  作者:blackzhu
--  发布时间:2019/8/8 9:44:00
--  
D      ELE     TE  FROM [客户管理] WHERE (((@P1 = 1 AND [GUID] IS NULL) OR ([GUID] = @P2)))


我在后台查出来了,删除的语句是这样的.

--  作者:有点蓝
--  发布时间:2019/8/8 9:53:00
--  
那么应该是Foxtable自己的操作生成的sql了。

可是不管哪里操作的,数据库日志都应该有记录才对呀(这个日志指的是数据库日志,不是自己开发的日志功能)。

1楼的SQL是在sqlprofile跟踪到的?看看是哪个ip,哪个客户端,什么时间执行的?问一下操作人员,当时大概在做什么操作

--  作者:blackzhu
--  发布时间:2019/8/8 11:09:00
--  
我自己写的操作日志没有找到任何信息,所以才奇怪.因为所有的删除只有个可以用权限控制的按钮,里面有删除的日志.
--  作者:有点蓝
--  发布时间:2019/8/8 11:22:00
--  
说明自己写的操作日志功能有缺陷,可能在某种条件下无法记录。建议分析数据库日志查找原因
--  作者:blackzhu
--  发布时间:2019/8/8 14:23:00
--  
数据库日志只有找到那条语句.我测试了删除的操作日志没有任何问题,的记录了.


做了一个触发器,如果有人删除就能找到IP

--  作者:有点蓝
--  发布时间:2019/8/8 14:31:00
--  
删除的操作日志是怎么做的?什么事件写什么代码发上来看看