簡體   English   中英

如何防止用戶手動更改文件?

[英]How to prevent a user from changing a file manually?

在WPF應用程序中,我使用.txt文件來保存一些信息。 應用程序可以從/ .txt文件讀取和寫入數據。 一切都還可以,但問題是,為了達到這個目的,我必須為應用程序的用戶授予對這些文件的寫訪問權限,因此,他/她可以手動編輯這些文件。

如何在不向用戶授予相同級別權限的情況下為應用程序設置編輯.txt文件訪問權限?

編輯(補充):

在得到一些評論和答案之后,我以這種方式提出問題(只是為了讓我的問題更清晰,而不僅限於用戶訪問權限范圍): 我如何阻止用戶手動更改文件?

加密或數字簽名

我打算假設你沒有試圖阻止用戶手動更改文件,你只是想阻止專門為文件分配權限的額外步驟。

您最有可能寫入受保護區域(在引入UAC后受到保護的區域)中的文件。 要避免這種情況,請將文件寫入“已批准”區域之一,例如%APPDATA%。 這是一個更多的列表(假設C是您的啟動驅動器):

C:\Users\username\Documents
C:\Users\username\AppData\Local
C:\Users\username\AppData\Roaming
C:\Users\Public\Documents
C:\ProgramData

這篇文章有很多關於你可以從中挑選的信息。

這可能是一種矯枉過正,但您可以創建一個在不同用戶帳戶上運行的服務,該帳戶可以編輯該文件。 然后您的應用程序將使用該服務來訪問該文件。

這樣,您可以防止不必要的更改和/或記錄對文件的每個更改。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM