如何讓別人不能以複製及貼上操作將你的資料予以拷貝出去? |
答題得分者是:RootKit
|
ry_lee
高階會員 發表:368 回覆:251 積分:123 註冊:2002-03-19 發送簡訊給我 |
|
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
我只問一個問題
如果這個資料很重要或很有用, 在dbgrid 上顯示出來, 就算寫了不能copy, paste 運作, 我不能用screencapture擷取下來或用一些側錄軟體來截取資料嗎? 所以當考慮是否可以copy 與否, 先考慮自己對這個資料的重要性, 以及該如何來保存與顯示記錄出來, 否則要鎖住copy並不是難事, 滑鼠部份可針對重要欄位設定滑鼠右鍵的事件, 在windows上按鍵標準方式有CTRLl C, 或 CTRL INSERT , 鎖定這個組按鍵動作, 鍵盤就無可複製了(不知道還有沒有其他按鍵會通) |
RootKit
資深會員 發表:16 回覆:358 積分:419 註冊:2008-01-02 發送簡訊給我 |
|
ry_lee
高階會員 發表:368 回覆:251 積分:123 註冊:2002-03-19 發送簡訊給我 |
有辦法讓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 發送簡訊給我 |
1.最直接的方法, 在dbgrid 上做一個透明的遮罩 panel 蓋住dbgrid (但不要蓋住scroll), 讓user無法在grid上作業
有關透明的做法, 本站應有一些討論(或利用第三控件) 2.由您開始發問以來, 發現一個很有興趣的結果, 似乎您在發展一套要控管很嚴, 安全性要很高的系統, 但假設如此的話, 您採用InterBase是一個不智之舉, 應考慮更大型的資料庫 以上純屬猜測, 並無惡意啦! 若有冒犯之處請多多包涵! 3.任何防犯的動作, 都只能防君子, 無法防小人, 真正有心要竊取資料的人, 我們在系統上做任何防堵都是有漏洞, 之前也有不少客戶要求我要做到資料不可外洩, 但我都向客戶說"不可能", 因為你不知道有多少方式可以攔截資料, 萬一有一個你沒有防到, 到時候客戶是可以根據合約來索賠的, 所以客戶堅持要做的話, 我寧可放棄! 4.現在的ocr技術已經非常成熟了, 不要談控制操作的問題, 最直接, 我拿數位相機拍下來, 再透過ocr 辨識一樣可以得到結果, 殊不知蒙恬有發展一套名片辨識系統, 不就是這樣的功能嗎? ===================引 用 ry_lee 文 章=================== 有辦法讓user無法選取dbgrid內之cell之文字內容嗎? |
change.jian
版主 發表:29 回覆:620 積分:439 註冊:2003-06-02 發送簡訊給我 |
好久沒來了
不曉得這樣行不行 ? 我是用 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 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |