問題タブ [file-security]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
1970 参照

vb.net - プロセス間 Reader Writer ロック (またはファイル ハンドルとアクセスが拒否されました)

では、まず背景について説明します。プロセス間のリーダー/ライター ロックが必要でした。ファイルを使用し、LockEx と UnlockEx を使用して最初のバイトをロックすることにしました。このクラスは、作成時にシステムの一時フォルダーにファイルを作成します。ファイルは、読み取り/書き込みアクセスと共有読み取り|書き込み|削除で作成されます。また、大量の一時ファイルを放置しないように、DeleteOnClose も指定します。明らかに、AcquireReader と AcquireWriter は適切なフラグを指定して LockEx を呼び出し、ReleaseLock は UnlockEx を呼び出します。
このクラスは、いくつかのインスタンスを実行できる小さなアプリケーションを使用してテストされており、完全に機能します。それを使用するアプリケーションに問題があり、別の小さなテスト アプリで再現することができました。擬似コードでは

これを初めて実行すると、正常に動作します。最初の子プロセスがまだロックを保持している間に再度実行しようとすると、ファイルを開こうとすると UnauthorizedAccessException が発生します。
これは、共有違反ではなく権限の問題のようですが、このテスト ケースのすべてのプロセスは同じユーザーとして実行されています。ここに誰かアイデアがありますか?

ミューテックスとセマフォを使用して目的を達成することを提案する別の質問に気付きました。実装を変更する可能性がありますが、この問題の原因を知りたいです。

0 投票する
2 に答える
216 参照

encryption - 暗号化されたファイルを安全に使用する

Borland Delphi 7 で dBASE データベース ファイルを使用してアプリケーションを作成しています。

注:この質問はファイルセキュリティに関連していると思います。この質問ではdBASEのこと(TXTファイルと見なしてください)を忘れてもかまいません。

データベースには、アプリケーションからのみアクセスする必要があります。次に、暗号化する必要があります。残念ながら、dBASE はパスワード メカニズムをサポートしていないため、自分でファイルを暗号化する必要がありました (また、dBASE を使用する必要があります)。

データベースファイルを保護するためにどのようなアプローチをお勧めしますか?

簡単なものは次のとおりです。

  1. データベース ファイルを暗号化し、アプリケーションの EXE ファイルの近くに配置します。
  2. DeleteOnCloseアプリケーションが実行されると、(ハードコードされたパスワードを使用して) ファイルを復号化し、その結果をフラグとフラグを持つ一時ファイルにコピーする必要がありますNoSharingPermission
  3. 閉じるときに、アプリケーションは一時 dBASE ファイルを暗号化し、古い暗号化ファイルを新しいファイルに置き換える必要があります。

これはかなり安全なアプローチだと思います。しかし、2 つの大きな問題があります。

  1. 削除取り消しツールを使用すると、ユーザーは削除された一時ファイルを復元してアクセスできます。
  2. さらに悪いことに、アプリケーションの実行中にシステムが突然再起動すると、DeleteOnCloseフラグが失敗し、一時ファイルがハードディスクに残り、ユーザーはそれにアクセスできます。

少なくとも 2 番目の部分の解決策はありますか?

他の解決策はありますか?

0 投票する
2 に答える
291 参照

security - Web を介したファイルの保護: きめ細かい認証ベースのファイル アクセス

従業員がファイルをアップロードできるシステムがあります。3つの方法があります

パブリック、プライベート、または保護モードで自分のアカウントにアップロード パブリック、プライベート、または保護モード
で部門アカウントにアップロード パブリック、プライベート、または保護モード
で組織アカウントにアップロード

パブリックは誰でも見ることができ、グループまたは個人のみにプライベートであり、組織内の誰からも保護されます。

組織のすべてのファイルは、次のようなファイル サーバー上の /files/<organizationId>/ などのディレクトリに保存されます。

ファイル
+-- 234809
| +img1.jpg
| +doc1.pdf
+-- 808234
| +doc2.pdf

DBにファイルパスとプライバシーレベルを保存しています。そのため、特定のページでファイル URL へのリンクをユーザーに表示するかどうかを制御できます。

問題は、ファイルの URL を制御できないことです... したがって、ブラウザのアドレス バーに img1.jpg の URL を入力した場合、ログインしているユーザーが img1 を見る資格があるかどうかを知る方法がありません。 .jpg。

なにか提案を?


その Java アプリケーションです。ただし、ファイル サーバーとして機能する Glassfish の別のインスタンスがあります。アプリはまだリリースされていないため、より優れたファイル アクセス戦略を採用することにオープンです。

ファイルにアクセスしているユーザーは、ログインしている場合とログインしていない場合があります。ただし、アクセスされているファイルがプライベートまたは共有であることがわかっている場合は、常にログイン ページにリダイレクトすることでユーザーを認証できます。

ありがとう
ニシャント

0 投票する
2 に答える
3042 参照

visual-studio - 「コンテンツを暗号化してデータを保護する」を削除する方法

私の Web サイトで、「Superfish」からパッケージとしてダウンロードされた画像、css ファイル、および javascript ファイルの読み込みに問題がありました。

問題は、各ファイルの「コンテンツを暗号化してデータを保護する」ことであることがわかりました。わかりましたので、右クリック->プロパティ->詳細設定で、「コンテンツを暗号化してデータを保護する」設定のチェックを外しました。

ただし、Visual Studio 2010 を使用して再発行すると、発行されたファイルの設定に再びフラグが立てられます。ソース ファイルにはフラグが設定されておらず、パブリッシュされたファイルのみが設定されています。パブリッシュを開始する前に、すべてのファイルが削除されます。

内容を新しいファイルに貼り付けて各ファイルを完全に再作成しましたが、それでもフラグを越えてコピーするとリセットされます。

別のフォルダーに公開しようとしましたが、残念ながら、暗号化されたコンテンツ設定で新しいファイルが作成されます。

Visual Studio は、この設定にフラグを立てる必要があるとまだ考えているようです。または、設定が削除されていない場所からキャッシュされたバージョンのファイルをコピーしているようです。

公開するたびに設定が再フラグされないようにするにはどうすればよいですか?

0 投票する
2 に答える
5557 参照

c# - すべてのユーザーの c:\program files\company\app\file のファイル アクセス許可を設定します。

正常に動作するカスタム インストーラー プログラムがありますが、アプリケーションを更新するたびにユーザーに管理者権限を要求します。この部分をスキップする Windows サービスを作成していますが、Windows サービスはシステムと管理者の権限のみをファイルに与え、ユーザーは新しい更新を実行できません。

これを修正するために私は試みています(ファイルが正しい場所にダウンロード/インストールされた後(Windowsサービス内から、アカウントServiceAccount.LocalSystemがあります)、

しかし、設定は有効になりません。ここからどうすればいいですか?

0 投票する
1 に答える
433 参照

c# - FileSecurity が設定されていません

別のプロジェクトの場合、私のコードはファイルを読み取り、古いファイルを破棄して新しいファイルをビルドします。ただし、古いファイルから FileSecurity AccessControl を取得して新しいファイルに適用する必要があります。私はC#にかなり慣れていないので、以前にFileSecurityを使用したことがありません。以下は私が思いついたものです。エラーは発生しませんが、動作していないようです。

私がテストするために行うことは、ユーザーがファイルを完全に制御できるように設定することです。プログラムを前半まで実行し、ファイルを削除して、完全な制御なしで再度作成し、プログラムを終了させます。ただし、ファイルのセキュリティ タブに移動すると、フル コントロールが表示されません。古いファイルを削除した後、新しい FileInfo オブジェクトを作成しようとしましたが、それもうまくいきませんでした。

どんな提案でも最も役に立ちます

0 投票する
4 に答える
891 参照

video - ビデオがダウンロードされないようにする方法

だから私はクライアントのためにカラオケのウェブサイトを作成しています、そして私はダウンロードされたものからビデオを保護する必要があります。たとえば、彼はフラッシュビデオを入れることができます。どうすれば誰もダウンロードできないようにすることができます。インターネットショップで、人々が曲を購入して1時間ほど再生できるようになり、その後は勝ちます。できませんが、問題は、1時間購入すれば、ダウンロードして好きなだけ再生できるということです。何か提案はありますか?

0 投票する
1 に答える
349 参照

.htaccess - ユーザーがアップロードされたファイルにアクセスできないようにする

ユーザーが次のような特定のパスに写真をアップロードできるようにするモジュールがあります

domain / media / img / uploadedFiles /

ユーザーはこの場所に写真をアップロードできますが、アップロードした写真に書き込みでアクセスできません

domain.com/media/img/uploadedFiles/filename

.htaccessファイルを使用して、そのパス内のファイルを一覧表示しないようにしましたが、ユーザーがアップロードされたファイルの名前を知っていれば、そのファイルにアクセスできます。

ありがとう

0 投票する
1 に答える
30 参照

authentication - Webでホストされるファイル認証

PHPベースのログイン認証メカニズムを使用してWebサイトの一部(フォルダーmodule1module2など)へのアクセスを許可/制限していますが、ファイルへのアクセスを制限する際に問題があります。ドキュメントフォルダ(以下を確認)を使用して、ダウンロード可能なファイルをホストしました。これらのファイルへのリンクは、index.php(ルートディレクトリでホストされている)に表示されます。ただし、何らかの理由で許可されていないユーザーがドキュメントに含まれているファイルのURLを取得した場合、そのユーザーはそれをダウンロードできます。

PS:これはイントラネットWebサイトであるため、 IPによるドキュメントへのアクセスを制限しましたが、許可されたIPアドレスを持つPCを使用し、ドキュメントのURLを知っている可能性はまだわずかです。

0 投票する
2 に答える
1542 参照

c# - 多くのファイルを含むフォルダーの ACE を遅く設定する

特定の Active Directory グループの Windows フォルダに再帰的な「拒否」を設定する機能を提供するアプリケーションを作成しました。基本的には、Windows エクスプローラーのプロパティ ダイアログに移動し、セキュリティをクリックして、拒否の権限を持つ AD グループを追加するのと同じです。このコードを使用しています:

現在、大量の html ドキュメント (約 12000 ファイル) を含む大きなフォルダーに遭遇しましたが、上記の方法は非常に低速です。ファイルセキュリティの処理には約 7 分かかります。ただし、Windows エクスプローラー/セキュリティを介してセキュリティを管理する場合、約 20 秒しかかからないため、C# でこれを最適化する方法が必要です。

編集:再帰を省略して最上位フォルダーに SecurityDescriptor のみを設定すると、その下のファイルには AD グループが拒否されず、最上位フォルダーのみが拒否されます。