Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 避免删除数据库文件_C#_Winforms_Security - Fatal编程技术网

C# 避免删除数据库文件

C# 避免删除数据库文件,c#,winforms,security,C#,Winforms,Security,我在windows平台上用C创建了一个软件。 所以它使用一个access数据库文件,该文件被嵌入到应用程序的bin文件夹中。 如何防止windows用户在windows exloprer中删除数据库文件 他们可以导航到bin文件夹,然后选择数据库并按键盘上的delete键。。。 我该怎么办? 我认为,隐藏bin文件夹或包含数据库的文件夹是不安全的,因为它们可以取消隐藏…计算机属于用户。你不应该试图阻止用户对他们的计算机做他们想做的事情 如果数据库是应用程序的关键部分,那么它与用户导航到程序文件夹

我在windows平台上用C创建了一个软件。 所以它使用一个access数据库文件,该文件被嵌入到应用程序的bin文件夹中。 如何防止windows用户在windows exloprer中删除数据库文件

他们可以导航到bin文件夹,然后选择数据库并按键盘上的delete键。。。 我该怎么办?
我认为,隐藏bin文件夹或包含数据库的文件夹是不安全的,因为它们可以取消隐藏…

计算机属于用户。你不应该试图阻止用户对他们的计算机做他们想做的事情

如果数据库是应用程序的关键部分,那么它与用户导航到程序文件夹并在主可执行文件上按delete键没有任何区别——如果他们这样做,他们应该希望必须重新安装应用程序


因此,如果您的程序看到数据库丢失,比如这个应用程序不再处于可用状态,那么它可以显示一条很好的消息。请重新安装应用程序。

您将使用Windows文件权限来执行此操作,这实际上不是一个编程问题。您不能也不应该试图阻止用户删除任何文件。如果你需要这种安全性,应该从it管理的角度来做,而不是通过你的软件。实际上没有什么好办法,如果应用程序最终可以访问它,用户也会这样做。你可以使用后台服务来维护文件的锁,但是这个用例真的有必要吗?最终,应该由用户/管理员决定哪些文件可以保留在系统上,而不是你的应用程序上。你的应用程序应该只处理找不到数据库的用例。我敢肯定,试图阻止用户删除其计算机上的文件会将你归类为恶意软件