私は、特定のファイルをディレクトリに保存するwindowsアプリケーションを持っています。私は方法がある場合は、私は直接(Windowsでそのディレクトリに移動し、ファイルをつかむことによって)にアクセスすることができないように制限することができます.netだけで私のアプリケーションを追加/確認/削除することができますそのディレクトリ内のファイル。.netアプリケーションでのみ使用できるディレクトリを制限する
答えて
.NetでIsolated Storageを使用できますか?一方、それは必ずしもあなたのユーザーから制限されているわけではありませんが、それは見つけるのがもっと難しいかもしれません....(ログインしたユーザーのローカル設定\アプリケーションデータ\独立したストレージに格納)
コードを使用して、System.Io.IsolatedStorageを使用して/インポートし、ディレクトリ、ファイルなどを作成できます。正常です。
また、実際のディレクトリをHDで管理する必要はありません.Netではこれを管理しています。多分いい素敵です。
これは、アプリケーションを実行しているユーザーとは異なる資格情報でアプリケーションを実行する場合にのみ可能です。
デフォルトでは、すべてのアプリケーションは、プロセスを起動したユーザーの資格情報で実行されます。これは、アプリケーションのディレクトリとファイルの制限がユーザーと同じであることを意味します。別のアカウントがなければ、アプリケーションはファイルシステムにアクセスする能力を低下させ、増加させることはできません。
ファイルシステムを扱うのは一般的に悪です。ユーザーがそのディレクトリでプレイしないようにすることができたとしても、結果を信じることはできません。結果は、あなたが残したのとまったく同じ状態になります。他のユーザー、物理ディスクの破損など、ファイルが破損する可能性があります。
ファイルシステムを健全にプログラムする唯一の方法は、最初から失敗が予想され、実際に動作したときには幸運に思うことです。
ご迷惑をおかけしていただきありがとうございます。 – paradisonoir
@paradisonoir、私はあなたのアプリケーションについてもっと知る必要があります。しかし、単純に言えば、ファイルシステムが信頼できるものであるとは思わないでください。それが機能すれば、代わりにそれをボーナスと考えてください。その特定の概念について計画を立て、そこから行ってください。 – JaredPar
@ JaredPar、確かに、私はさまざまなアプローチを使用しようとしています。 – paradisonoir
アプリケーションは特定のユーザーとして実行する必要があります。そのユーザーは常にアプリケーションと同じ権限を持ちます。管理者として実行されるサービスを作成して、標準ユーザーがディレクトリにアクセスできないようにすることはできますが、管理者は引き続きディレクトリ内のものを変更することができます。
私はあなたの問題の別のアプローチを探すことをお勧めします。潜在的な選択肢があります。おそらく、ディレクトリの内容に暗号化されたハッシュを保存することを検討する必要があります。そうすれば、内容が変更されていないことを確認することはできますが、変更が発生しないようにすることはできません。
あなたの迅速な答えをありがとう。これは、私のファイルのハッシュ暗号化を保存することができることを意味し、その後私はそれらをより良く制御することができます。私は制限されたディレクトリを持つことは絶対に怪しいことを理解しています。 – paradisonoir
FileSystemWatcherを見てください。これはディレクトリの変更を防ぐものではありませんが、dirの変更についてプログラムに通知することができます。
他にも言及したように、アプリケーションは現在ログインしているユーザーとは異なるユーザーとして行動する必要があります。 '偽装'を調べる必要があります。特定のタスクを実行し、別のユーザー:
http://csharptuning.blogspot.com/2007/06/impersonation-in-c.html
これはすべて素晴らしいヒントと例です。私の問題は単にファイルをコピーしてファイルを取りたいときです。 – paradisonoir
ユーザーにファイルへのアクセス権を与えないでください。ファイルに対してアクションを実行し、アプリケーションでそのユーザーを偽装できる別のユーザーを作成します。そうすれば、ログインしたユーザーはファイルで何もできなくなりますが、アプリケーションはそれを行うことができます。 –
最も簡単な方法(どのような方法で固定していないが)、ユーザーがについて何も知らない隠しフォルダを、使用することです。 so \ servername \ hiddenfiles $
さらに安全な方法は、プログラムがフォルダにアクセスするために使用している資格情報を変更することです。彼ら自身がそれにアクセスする必要がありますか?
代わりに、パスワードを知らないユーザーごとにダミーアカウントを作成することもできます。 Windowsのログインに関係するようにしてください。そうすれば、domain \ mynameはdomain \ mynamehiddenになります。次に、これを使用してディレクトリに接続します。
これは、すべてがうまく監査できることを保証します。
ファイル自体にアクセスすべきではありません。 – paradisonoir
したがって、2番目と3番目のオプションは正常に動作し、2番目のオプションは実装が最も簡単です。 – Bravax
- 1. .netアプリケーションのメモリ使用を制限する
- 2. アプリケーションで使用できるメモリの制限
- 3. .NETプロセスオブジェクトのCPU使用量を制限できますか?
- 4. iOSアプリケーションで.Netの組み込み認証を使用する
- 5. JavaアプリケーションでWebサービスの使用を制限する方法は?
- 6. .NETリモートデバッガポートを制限する
- 7. ランドスケープモードでのみj2meアプリケーションを制限する方法
- 8. .Net CLRメモリの使用を制限する
- 9. C++でCPU使用を制限する
- 10. 制限付きの制約タイプとタイプファミリーを '限定された'制約付きで使用する
- 11. .NETでのスレッドメモリ使用の高速チェックまたは制限?
- 12. GoogleマップPhoneGapアプリケーションのV3使用制限
- 13. Protobuf-netをSilverlightアプリケーションで使用する
- 14. パッケージ名の使用は、ディレクトリ構造とアプリケーション参照のみに制限されていますか?
- 15. .NETスタックメモリ制限
- 16. 1ヶ月間にアプリケーションの使用を制限する方法
- 17. ライセンス時にWebアプリケーションの使用を制限する
- 18. Dojoリッチ・テキスト・エディタで使用できる文字数の制限
- 19. ActiveRecord IDクエリで実数のみを使用するように制限する
- 20. Webアプリケーションに.NET Framework 1.1を強制的に使用する
- 21. JFileChooserを使用して特定のディレクトリで使用できるファイルを制限することはできますか?
- 22. ジャックソンで文字列の書き込みサイズを制限する
- 23. Node.js複数のレート制限を使用するAPIレート制限
- 24. bashを使ってファイルシステムのディレクトリ制限をテストする方法
- 25. スキップ(オフセット)のみを使用するSqlLite(制限なし)
- 26. RAM使用量をCPPアプリケーションに制限する
- 27. .NETアプリケーションでDLLを使用
- 28. アプリケーションをiPhone 4以上でのみ実行するように制限することはできますか?
- 29. Flask URLパラメータでユーザーが使用できる制限値
- 30. matlabのmkdirコマンドでディレクトリ権限を制御する方法は?
実際それが私が探していたものでした。私はそれが簡単にアクセス可能になるリスクを減らすと思います。しかし、偶然にそのディレクトリが見つかると、簡単に移動してコピー&ペーストできます。私は正しい? – paradisonoir
真ですが、ディレクトリは隠されているので、ほとんどのユーザーはエクスプローラの設定を混乱させ、かなり深い(OSのどこにあるのかによって隠されていない)場合を除いて、 実際、どこにいるのかは決して覚えていません。 :) – klabranche
もし彼らがそれを見つけたら、私は彼らが何をしているのか尋ねているでしょうか?私に少しハッキングのように聞こえる..... – klabranche