繁体   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