線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:2963
推到 Plurk!
推到 Facebook!

如何讓別人不能以複製及貼上操作將你的資料予以拷貝出去?

答題得分者是:RootKit
ry_lee
高階會員


發表:368
回覆:251
積分:123
註冊:2002-03-19

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-05-26 22:48:47 IP:125.224.xxx.xxx 訂閱
如果讓別人不能以複製及貼上操作將你的資料予以拷貝出去?因為有一些資料是自己花費很多心血完成,他們存放在database,經由dbgrid可顯示出每一筆資料,但有什麼辦法讓人無法經由點選dbgrid並用複製及貼上,而把資料拷貝出去.
編輯記錄
ry_lee 重新編輯於 2008-05-26 22:50:55, 註解 無‧
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-05-26 23:25:59 IP:61.67.xxx.xxx 未訂閱
我只問一個問題
如果這個資料很重要或很有用, 在dbgrid 上顯示出來, 就算寫了不能copy, paste 運作, 我不能用screencapture擷取下來或用一些側錄軟體來截取資料嗎?
所以當考慮是否可以copy 與否, 先考慮自己對這個資料的重要性, 以及該如何來保存與顯示記錄出來, 否則要鎖住copy並不是難事,
滑鼠部份可針對重要欄位設定滑鼠右鍵的事件, 在windows上按鍵標準方式有CTRLl C, 或 CTRL INSERT , 鎖定這個組按鍵動作, 鍵盤就無可複製了(不知道還有沒有其他按鍵會通)
RootKit
資深會員


發表:16
回覆:358
積分:419
註冊:2008-01-02

發送簡訊給我
#3 引用回覆 回覆 發表時間:2008-05-27 00:26:53 IP:61.222.xxx.xxx 訂閱
PrintScreen 是一個很難克服的問題。但畢竟非文字。對方還要OCR 太累所以通常省略。

攔截剪貼不會很難,攔截鍵盤也是沒用主要按下滑鼠右鍵還是可以摳。
攔截 WM_COPY WM_CUT 訊息就可以了。

另外我不認為在 Application.onMessage 是攔得到這些訊息。
主要使用 inplaceEdit

在 DBgrid 上可 Override CreateEditor 方法。取代遮蔽上述訊息的 TMyinplaceEdit 即可。
ry_lee
高階會員


發表:368
回覆:251
積分:123
註冊:2002-03-19

發送簡訊給我
#4 引用回覆 回覆 發表時間:2008-05-27 09:32:21 IP:125.224.xxx.xxx 訂閱
有辦法讓user無法選取dbgrid內之cell之文字內容嗎? 

===================引 用 RootKit 文 章===================
PrintScreen 是一個很難克服的問題。但畢竟非文字。對方還要OCR 太累所以通常省略。

攔截剪貼不會很難,攔截鍵盤也是沒用主要按下滑鼠右鍵還是可以摳。
攔截 WM_COPY WM_CUT 訊息就可以了。

另外我不認為在 Application.onMessage 是攔得到這些訊息。
主要使用 inplaceEdit

在 DBgrid 上可 Override CreateEditor 方法。取代遮蔽上述訊息的 TMyinplaceEdit 即可。
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#5 引用回覆 回覆 發表時間:2008-05-27 10:33:36 IP:61.67.xxx.xxx 未訂閱
1.最直接的方法, 在dbgrid 上做一個透明的遮罩 panel 蓋住dbgrid (但不要蓋住scroll), 讓user無法在grid上作業
有關透明的做法, 本站應有一些討論(或利用第三控件)

2.由您開始發問以來, 發現一個很有興趣的結果, 似乎您在發展一套要控管很嚴, 安全性要很高的系統, 但假設如此的話, 您採用InterBase是一個不智之舉, 應考慮更大型的資料庫
以上純屬猜測, 並無惡意啦! 若有冒犯之處請多多包涵!

3.任何防犯的動作, 都只能防君子, 無法防小人, 真正有心要竊取資料的人, 我們在系統上做任何防堵都是有漏洞, 之前也有不少客戶要求我要做到資料不可外洩, 但我都向客戶說"不可能", 因為你不知道有多少方式可以攔截資料, 萬一有一個你沒有防到, 到時候客戶是可以根據合約來索賠的, 所以客戶堅持要做的話, 我寧可放棄!

4.現在的ocr技術已經非常成熟了, 不要談控制操作的問題, 最直接, 我拿數位相機拍下來, 再透過ocr 辨識一樣可以得到結果, 殊不知蒙恬有發展一套名片辨識系統, 不就是這樣的功能嗎?
===================引 用 ry_lee 文 章===================
有辦法讓user無法選取dbgrid內之cell之文字內容嗎?

編輯記錄
P.D. 重新編輯於 2008-05-27 10:38:52, 註解 無‧
P.D. 重新編輯於 2008-05-27 10:42:34, 註解 無‧
change.jian
版主


發表:29
回覆:620
積分:439
註冊:2003-06-02

發送簡訊給我
#6 引用回覆 回覆 發表時間:2008-06-09 15:31:24 IP:211.23.xxx.xxx 訂閱
好久沒來了

不曉得這樣行不行 ? 我是用 TStringGrid 測試的,應該差不多吧


[code delphi]
type
TForm1 = class(TForm)
sg: TStringGrid;
procedure FormCreate(Sender: TObject);
procedure FormKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation
uses Clipbrd;
{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
sg.Cells[1,1]:='1,1';
sg.Cells[1,2]:='1,2';
sg.Cells[1,3]:='1,3';
sg.Cells[1,4]:='1,4';
sg.Cells[2,1]:='2,1';
end;

procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (Self.ActiveControl = sg) then
Clipboard.Clear;
end;

[/code]
ko
資深會員


發表:28
回覆:785
積分:444
註冊:2002-08-14

發送簡訊給我
#7 引用回覆 回覆 發表時間:2008-06-12 18:03:44 IP:61.66.xxx.xxx 訂閱
不是有read only 可以用嘛
------
======================
昏睡~
不昏睡~
不由昏睡~
系統時間:2024-04-26 10:31:58
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!