應用程式可以讀取文件,但用戶應用程式運行時無法讀取文件

應用程式可以讀取文件,但用戶應用程式運行時無法讀取文件

是否可以設定檔案的權限,以便使用者無法複製該檔案(無讀取權限),但在該使用者下執行的應用程式可以讀取該檔案?

我認為不是,但我不是 100% 確定 - 為了使應用程式能夠讀取它正在運行的用戶,它必須具有讀取權限?

也許可以用Windows策略來設定這樣的事情?

答案1

由於應用程式將以用戶權限運行,如果用戶無法讀取文件,則應用程式將無法讀取文件。

您可以嘗試設定一個進程,代表運行該應用程式的用戶模擬另一個用戶,該應用程式可能具有不同的權限。這將是一項相當多的工作,並且根據您如何實現這一點,您無論如何都會向使用者授予該權限,因為他只會尋找用於模擬的憑證。

另一種方法是檢查使用者是否無法列出包含該檔案的目錄的內容。仍然可以開啟該文件,因為使用者仍然擁有該文件的讀取權限。這種方法只會朦朧訪問而不是阻止它!

答案2

這取決於您的用戶的技術水平。如果他/她受過良好教育,那麼答案是 - 不,但是您可以使用各種模糊技巧來「阻止」使用者在可以從您的程式存取檔案時看到實際檔案的內容。最簡單的混淆方法(恕我直言)是使用替代資料流(ADS) %AppData% 中的某處

您能否澄清一下,您想要實現什麼目標?也許我們會向您建議更好的解決方案

答案3

如果使用者在沒有管理權限的情況下運行應用程序,應用程式將無法存取該檔案。

如果使用者以管理員身份執行應用程序,則程式可以存取該文件,而使用者則不能。請注意,以管理員身份運行的應用程式擁有更多的權限,但這可能不切實際。

更好的方法是隱藏文件或以不同方式儲存文件,具體取決於應用程式的功能以及您對其存取文件方式的控製程度。

例如,您可以將資料本身儲存在位於網路上的資料庫中,或者進行伺服器-用戶端通信,其中伺服器將檔案傳輸到客戶端,用戶端顯示該檔案並在完成後刪除副本。本質上,這可以像網頁伺服器一樣簡單。請記住,如果使用者開啟文件,他們可以儲存該文件,然後就可以存取該文件。顯示嵌入網頁內的文件可以防止這種情況。

相關內容