【问题标题】:How to create a virtual storage space in C++?如何在 C++ 中创建虚拟存储空间?
【发布时间】:2012-03-03 13:41:14
【问题描述】:

我正在使用第三方SDK,其中一种方法如下:

void ReadData(string filePath);

您可能已经猜到了,它需要方法的文件名。
希望将(敏感)文件放入 HDD,然后使用其文件名作为参数。

我想知道是否有某种方法可以创建一个与用户隔离的存储空间,这样我就可以将任何我想要的文件放在那里而不用担心人们会找到它?

编辑:仅适用于 Windows 操作系统。

【问题讨论】:

  • 这很大程度上取决于您的操作系统。
  • 哎呀^_^忘记了。已编辑。
  • 您应该将您的问题标记为特定于 Windows。
  • 可能。 Windows 允许您创建许多类似于文件的对象,这些对象实际上不是硬盘驱动器上的文件。虽然我不知道具体情况。
  • 如何创建一个加密存档来存储敏感文件?

标签: c++ windows file virtual storage


【解决方案1】:

别担心。

您似乎对谁拥有计算机和数据有一些误解。用户可以。

如果您担心其他用户访问该文件,请使用该用户的私有文档或 appdata 目录,ACL 将阻止非特权用户访问该文件。

但是,如果您的商业模式依赖于拒绝用户访问他们自己计算机中的数据,那么您需要重新考虑这一点。没有任何 API 可以挽救有缺陷的商业模式。

【讨论】:

  • +1,请不要走创建虚拟文件系统的路,这太疯狂了。
【解决方案2】:

由于您调用的 API 要求提供 filename 而不是 file,因此我们必须假设您确实需要文件,而不是类文件对象.

该方法的更具体名称是“ReadDataFromFile”。看看,有没有其他方法可以接受数据本身,而不是文件名?

您正在尝试将信任从文件所有者转移到/并且仅转移到执行调用的程序,您在问题中提到。因此,如果这一切都失败了,请查看文件 ACL 以限制对敏感数据的访问,例如:https://superuser.com/questions/246280/what-are-windows-aclshttp://msdn.microsoft.com/en-us/library/aa374872%28v=vs.85%29.aspx 您仍然必须将敏感文件放在磁盘上(担心以后会删除它),但访问会受到限制。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-02
  • 2022-12-10
  • 2020-05-21
  • 2023-03-17
  • 1970-01-01
相关资源
最近更新 更多