3

ファイルロックに関するクエリを読みましたが、複数のファイルアクセスの問題などを参照しています。これに対する通常の応答は、FileStream.Lockを使用してファイルにロックするか、FileShare.NoneをFile.Openで使用するなどですが、ロックすると100ファイルと表示されます。これは良いプログラミング手法ではありません。また、これらのシナリオでは、アプリが閉じたりクラッシュしたりした場合にロックが解除されます。つまり、ロックを保持し、自分のアプリだけが他の人のために開くことができます。

msdnで、System.Security、System.Security.AccessControl名前空間を見つけました。これらが役立つと思います。また、この記事では、私が欲しいものに光を当てます。

編集::

Mannnnn...誰かが私が提供した「この」 リンクを参照しましたか。

わかりました...要するに、私はPCセキュリティソフトウェアが行うことをしたいのですが、それはベルを鳴らしますか...誰かがそれを使用しましたか????

ありがとう。

4

6 に答える 6

2

これは不可能です。十分な権限を持つユーザーは、いつでもセキュリティ設定を変更し、プログラムを実行してファイルにアクセスできます。したがって、これを止めることはできないという仮定から作業し、プログラムまたはユーザーがファイル内のデータを使用して何ができるかに焦点を合わせます。

それを暗号化します。

于 2011-01-31T11:08:03.957 に答える
1

ファイルを暗号化し、キーをアプリケーション内に埋め込むことができます。「自分のアプリだけが他のアプリを開くことができる」という意味によって異なります。

于 2011-01-31T10:17:42.113 に答える
1

ここでの要件には基本的な欠陥があり、ファイル システムにはファイルへのアクセスを防止する方法が 1 つしかなく、それは ACL を使用することです。システムにログオンするユーザーがそれらのファイルへのアクセス権を持たないように指定できます。したがって、ユーザーはファイルを使用できません。

ただし、プログラムがこれらのファイルにアクセスできるようにするには、プログラムを実行するために「ログオン」するユーザーを設定する必要があります。もちろん、そのユーザーとして実行するように構成された他のプログラムは、それらのファイル。

排他的アクセスのためにファイルを開くなどの他のロックは、プログラムの実行中にのみ有効であることを既に発見したようです。何らかの理由でプログラムが実行されていない場合、これらの種類のロックは設定されていません。

具体的に何を防ごうとしているのですか?ファイルをロックしようとする以外に、それを処理する他の方法があるかもしれません。

于 2011-01-31T10:17:20.273 に答える
0

あなたが望むことは、ファイルシステムのミニフィルタードライバーを使用することによってのみ可能になると思います. 他の多くのアプリケーションは、プロセスを信頼済みとして作成できるユニバーサルシールドのようなドライバーを使用してこの機能を提供するため、信頼できるプロセスのみがそのファイル/フォルダーにアクセスでき、フォルダー保護のような他のアプリケーションもファイル/フォルダーに対するそのようなタイプのアクセス許可を提供します..

于 2016-10-07T05:25:35.953 に答える
0

メソッドを実装する (ファイルを「ロック」する) 方法を見つけようとしていますが、目標を達成しようとはしていません。

いくつかのプライベート データを保持し、必要に応じてデータへのアクセスを他のアプリケーションに提供したいと考えています。この場合、たとえば仮想ディスクを介して他のアプリケーションに公開できる暗号化されたコンテナーが必要です (この場合、SolFS OS エディションが最適なバリアントです)。

ただし、問題は、キーがアプリケーションのコードに保持され、理論的には抽出してコンテナーへのアクセスに使用できることです。実際には、手順をより複雑にすることもできますが、これは 100% 確実な解決策ではありません。

于 2011-01-31T10:22:32.100 に答える
0

IsolatedStorageクラスを使用することをお勧めします。そこに、アプリケーションに直接「リンク」されたファイルを保存できます。

MSDN IsolatedStorageで詳しく調べてください。スコープのファイルアセンブリを使用できます。とにかく、各ユーザーはファイル システムを介してapplicationDataフォルダーに移動し、このファイルを手動で開くことができます (予想外ですが) 。

于 2011-01-31T10:12:40.617 に答える