Как создать виртуальное пространство хранения в C ++? - PullRequest
4 голосов
/ 11 февраля 2012

Я использую сторонний SDK, и один из методов выглядит следующим образом:

void ReadData(string filePath);

Как вы уже догадались, для метода требуется имя файла.
I не не желает удалять (чувствительный) файл на жесткий диск, а затем использовать его имя файла в качестве параметра.

Мне было интересно, есть ли какой-нибудь способ создать изолированное пространство хранения от пользователя, чтобы я мог отбросить туда любые файлы, которые мне нужны, не беспокоясь о том, что люди его найдут?

РЕДАКТИРОВАТЬ: Строготолько для ОС Windows.

Ответы [ 2 ]

2 голосов
/ 11 февраля 2012

Только не беспокойся об этом.

Похоже, у вас неправильное представление о том, кто владеет компьютером и данными. Пользователь делает.

Если вы беспокоитесь о том, что другие пользователи могут получить доступ к файлу, использовать личные документы пользователя или каталог appdata, ACL запретит доступ к нему непривилегированным пользователям.

Но если ваша бизнес-модель основана на отказе пользователю в доступе к данным на его собственном компьютере, вам необходимо это переосмыслить. Не существует API для сохранения некорректной бизнес-модели.

0 голосов
/ 11 февраля 2012

, поскольку API вашего вызова запрашивает имя файла вместо файла , мы должны предположить, что вам действительно нужен файл, а не файлоподобный объект.

Более конкретное имя метода будет "ReadDataFromFile". Посмотрите, есть ли другой метод, который принимает сами данные вместо имени файла?

Вы пытаетесь передать доверие от владельца файла к / и только той программе, которая выполняет вызов, о которой вы упоминаете в своем вопросе. Итак, если все это не удается, взгляните на списки ACL для файлов, чтобы ограничить доступ к конфиденциальным данным, например: https://superuser.com/questions/246280/what-are-windows-acls или http://msdn.microsoft.com/en-us/library/aa374872%28v=vs.85%29.aspx Вам все еще нужно поместить конфиденциальный файл на диск (из-за беспокойства об его удалении позже), но доступ будет ограничен.

...