delphi 禁止sql2000跟踪sql语句(50分)

  • 主题发起人 主题发起人 qingangmail
  • 开始时间 开始时间
Q

qingangmail

Unregistered / Unconfirmed
GUEST, unregistred user!
有没有哪位大哥知道 如何在delphi中 屏蔽 sql语句不被事件探测器跟踪语句
 
在程序中加多个查询和终止事件探查器的代码,进程名和标题模糊查询的都加上。
 
在SQL语句中加入一行<br>--Password<br>或 /* Password */<br><br>就行了,事件探测器碰到带Password这个词的SQL会自动屏蔽跟踪的<br><br>如下:<br>— 在该事件文本中找到“password”。<br>— 出于安全原因,已用该注释替换此文本。
 
vine兄:<br>&nbsp; &nbsp; 我试了一下,在SQL语句前加上--Password,或/*password*/,SQL 2005中用Sql Server Profiler还是可以探测到啊,我的表名为POHF.语句如下:<br>/*Password*/<br>select * from POHF<br>探测器原样探测到了语句,包括/*password*/也探测显示出来了。
 
--Password<br>这个就可以了
 
用存储过程吧。
 
这个问题好像在Delphi园地上有:但没有试过,现在我把它贴上来:<br>如何防止SQL SERVER的事件探查器跟踪软件的SQL脚本,保障自己的软件不被他人分析?以下是一个停止所有SQLSERVER的跟踪器的脚本(两种方法的原理相同):<br>第一种方法:<br>procedure SQLCloseAllTrack;<br>const<br>&nbsp; sql = 'declare @TID integer ' +<br>&nbsp; &nbsp; 'declare Trac Cursor For ' +<br>&nbsp; &nbsp; 'SELECT Distinct Traceid FROM &nbsp;:: fn_trace_getinfo(default) ' +<br><br>&nbsp; 'open Trac ' +<br><br>&nbsp; 'Fetch Next From Trac into @TID ' +<br><br>&nbsp; 'while @@fetch_status=0 ' +<br>&nbsp; &nbsp; 'begin ' +<br>&nbsp; &nbsp; ' &nbsp;exec sp_trace_setstatus @TID,0 ' +<br>&nbsp; &nbsp; ' &nbsp;exec sp_trace_setstatus @TID,2 ' +<br><br>&nbsp; ' &nbsp;Fetch Next From Trac into @TID ' +<br>&nbsp; &nbsp; 'end ' +<br><br>&nbsp; 'Close Trac ' +<br>&nbsp; &nbsp; 'deallocate Trac';<br>begin<br>&nbsp; //停止所有SQLSERVER的跟踪器,以防止程序被別人跟踪<br>&nbsp; ExecSql(sql);<br>end; &nbsp; &nbsp;<br>第二种方法:<br>with faq1 do<br>&nbsp; &nbsp; begin<br>&nbsp; &nbsp; Close;<br>&nbsp; &nbsp; sql.Clear;<br>&nbsp; &nbsp; sql.add('declare @t_count int');<br>&nbsp; &nbsp; sql.add('set @t_count=1');<br>&nbsp; &nbsp; sql.add('while exists(SELECT * FROM ::::fn_trace_geteventinfo(@t_count))');<br>&nbsp; &nbsp; sql.add('begin');<br>&nbsp; &nbsp; sql.add('exec sp_trace_setstatus @t_count,0');<br>&nbsp; &nbsp; sql.add('set @t_count=@t_count+1');<br>&nbsp; &nbsp; sql.add('end');<br>&nbsp; &nbsp; try<br>&nbsp; &nbsp; execSQL;<br>&nbsp; &nbsp; except;<br>&nbsp; &nbsp; end;<br>&nbsp; &nbsp; close;sql.Clear;<br>&nbsp; &nbsp; end;<br>end;
 
在2000下面加了--Password也不行啊
 

Similar threads

回复
0
查看
978
不得闲
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
I
回复
0
查看
647
import
I
后退
顶部