【发布时间】:2009-08-26 10:42:17
【问题描述】:
我需要将文件设为真正的只读文件 - 以保持原样。不删除,什么都没有。
(设置 'ReadOnly' 属性不是一个选项)
我现在看到了一些方法:
使用程序使文件保持打开状态。缺点:可以杀死进程然后文件关闭。
使用程序设置安全属性。缺点:文件可以删除。此外,属性可以改回来。
有什么想法吗?此外,我们将不胜感激提供示例代码(最好在 Delphi 中)。
更新:感谢到目前为止的所有答案。他们真的很棒。我意识到我不是很清楚。我们要解决的问题是这样的:
有些类似 .txt 的文件包含敏感信息。我们的客户希望确保这些文件不会在他们的计算机上“幕后”更改。我们应该提到,他们的 PC 很容易被专门针对此操作的恶意软件感染。我们的客户应该能够使用记事本、写字板等打开这些文件,但他们接受这些文件是只读的。如果我们的任何客户采取果断行动,例如进入“安全模式”等并从那里篡改文件,他们将承担责任。我们应该保护他们免受任何恶意软件的侵害,包括零日攻击。 (因此,经典的防病毒解决方案不太合适)。
你现在能给出一些想法吗?
PS:我再次最诚挚的道歉,因为我从一开始就没有那么清楚。
【问题讨论】:
-
我不想听起来粗鲁,但你总能找到“缺点”。如果您将其刻录到 ROM 中,有人可能会用锤子对其进行攻击并对其进行物理破坏。如果你用机械臂把它刻在一块巨大的大理石岩石上,时间和天气会在几百万年内毁掉它。作为一名工程师,您必须权衡利弊。在这种情况下,我认为理想的平衡是使用文件系统权限来保护它。
-
没有像 CD-ROM 这样的只读媒体是不可能的。即使这样,恶意软件也可以修改内核以在请求这些文件时返回不同的信息,从而使这些文件看起来与该计算机不同。
-
WRT 编辑,这更有意义,但提供一个合理的解释来解释为什么你想做一些不可能的事情并不能使它成为可能。在这种特定情况下,我会尝试加密有问题的文件并添加校验和以确保恶意软件不会篡改它们。
标签: windows security delphi winapi