問題タブ [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.
c# - ディレクトリ内の特定のファイルタイプが提供されないように保護するための最良の方法
Webサイトからアクセスできるファイルタイプ.png、.xml、.pdfを格納するディレクトリ "d:/resources/xxxxx/file-name.xxx"があります。このハードドライブの場所を指す仮想ディレクトリ「resources」がIISに設定され、httpリクエストを介して.png画像にアクセスできるようになっていますが、ハードドライブで.pdfファイルと.xmlファイルを参照しています。位置。これらのファイルはワークフロープロセスの一部であるため、すべて現在のディレクトリ構造のままにする必要があります。
IISは.pngイメージの提供を許可する必要がありますが、セキュリティ上の理由から、.pdfまたは.xmlファイルの提供を許可したくありません。
httpハンドラーを設定してみましたが、パスを特定できませんでした。「/resources/ *」に設定した場合、許可されたファイルタイプを手動で出力する必要があり、少し不安定になりました。パスを「*.pdf」に設定できません。他のディレクトリで.pdfファイルにアクセスできるようにする必要があるためです。
誰かが「www.mysite.com/resources/dir/mypdf.pdf」または「.../myxml.xml」にアクセスしようとした場合にアクセスを制限する簡単な方法を探していますが、それでも許可します。 pngおよび提供される他のすべての潜在的なファイルタイプ。
また、私がこれをすべて間違った方法で行っているかどうかを知らせてください。
asp.net - xml ファイルを非表示にするにはどうすればよいですか?
xml ファイルを非表示にするにはどうすればよいですか? ファイルをGoogleの結果に表示したくありません。ユーザーのこのファイルへのアクセスを拒否するにはどうすればよいですか?
java - Javaでカスタムファイル形式を作成する方法
Androidでアプリを作っています。サーバーに abc.doc、abc.xls、abc.mp3 などのファイルがたくさんあります。これらすべてのファイルを .zip、.rar などの単一のファイルにダウンロードして、SDCARD に保存したいと考えています。これらのファイルを読み取ることができるのは私のアプリケーションだけですが、セキュリティ上の問題のために他のアプリケーションが読み取ることはできません。
c++ - ERROR_ACCESS_DENIED設定ファイルの所有者
C++でプログラムによってファイルの所有者を別のユーザーに設定しようとしています。
私は間違いなくSeRestorePrivilege
私のプロセスを有効にしました。これは、ProcessExplorerを使用して確認できます。プロセスを開始し、無効にし、コードを実行して有効にし、ProcExpがそれを有効として報告し、所有者が設定されるポイントまで移動しますが、まだ有効です(つまり、誤って無効にしていない)それ)。
このアクセスが拒否されたというメッセージには、他にどのような原因がありますか?私は何を考慮していませんか?
ありがとうございました。
編集:あなたの継続的な支援に感謝します。よろしくお願いします。
次のすべてのテストにあなたのコードを使用しました。基本的に、私はあなたのコードからアクセス拒否メッセージも受け取りますが、もう少し追跡しました。
まず、「C:\ test.txt」は私の実際のコードではありませんでした。残念ながら、バックスラッシュがないことが問題の原因ではありません。でもあなたの鋭い目をありがとう:)
また、UACを無効にして管理者アカウントを実行していて、プログラムのマニフェストにrequireAdministratorが設定されています。
しかし、私のコードとあなたのコードの両方が単純なファイルで機能することに気づきました。多くのテストを行った結果、次のシナリオでのみAccessDeniedメッセージが表示されることがわかりました。
1:私は所有者ではなく、「TakeOwnership」権限はDeny foregEveryoneに設定されています。
2:私は所有者であり、「TakeOwnership」権限はDeny foregEveryoneに設定されています。不思議なことに、この2番目のインスタンスでは、失敗コードにもかかわらず、所有権の変更が実際に発生します。
なぜこれが起こっているのかわかりません。私とあなたは、プロセストークンにSE_RESTORE_NAMEを設定しました。所有者SIDを任意に設定できるようにする必要があります。しかし、私にはできないようです。
TakeOwnership DACLを拒否すると、所有権を取得する能力が無効になるようです。ただし、所有権を取得できるようになるまで、権限を変更することはできません。ため息。
最初に推奨したようにSeTakeOwnershipPrivilegeを設定し、自分自身に所有権を取得し、権限を変更し、外部で所有権を設定してみます。なんて痛い。そして、私はそれがうまくいくとはあまり確信していません。
私もこれを見つけました:http://us.generation-nt.com/setnamedsecurityinfo-failing-rc-1307-help-59729462.html
彼は同様の状況にあるようです(プロセストークンを適切に設定しないと1307になります)。ただし、CreatePrivateObjectSecurityExには、さらに多くの設定が必要です。
うーん。御時間ありがとうございます。
c# - ファイルの所有権を取得するC#
ファイルの所有権を取得し、C# 経由で削除しようとしています。ファイルは iexplorer.exe で、デフォルトで現在の所有者 - TrustedInstaller です。メソッド FileSecurity.SetOwner は、指定された所有権を設定しているように見えますが、実際には初期所有者を変更せず、例外もスローしません。明らかに、次にファイルを削除しようとすると、例外がスローされます。ファイルの所有権を取得して削除するには、コードで何を変更する必要がありますか?
tomcat - Tomcat でファイル アクセスを制限する
ポート 80 および 443 をリッスンする apache tomcat サーバー上で実行される製品には、重大なセキュリティ上の問題があります。これらのポートで受信する HTTP/HTTPS パケットのルーティングは、製品クラスによって構成されます。サーバーの Web ルート内にあり、提供が許可されているタイプのファイル。
特に、URL の「/error/*」に一致するパケットは、ファイルを提供するためのドキュメント ルートとして「docroot」フォルダーを使用するように構成されます。そのため、URL エンコードされたバックスラッシュを使用して /error/ (つまり、docroot) ディレクトリから外に出て行くパスに%5C
もアクセスしてダウンロードできます。たとえば、リモート ユーザーは次のような URL を指定できます。</p>
docroot と同じレベルにあるリモート ファイル settings.properties にアクセスします。私たちは、ファイアウォール ルールとネットワーク セグメンテーションを通じて、これを克服しようとしています。しかし、リモート ユーザーがプロジェクト ルート フォルダ外のファイルにアクセスするのを防ぐために使用できる tomcat の設定はありますか。それは非常に便利です。
asp-classic - ブラウザでクラシック ASP 暗号化ファイルを実行する
ASP ファイルを暗号化しました。しかし、ブラウザで実行すると失敗します。アプリケーションを実行できるようにそのaspファイルを実行する方法は? 復号化する方法、ツールを使用して暗号化されていますが、実行中に復号化するにはどうすればよいですか? 私がそのファイルを与えた人が、ファイルのコードを見たくないのですが、それを実行して使用することしかできませんでした。
ios - iOS での安全なファイル ストレージ
アプリが通信するサーバーからのいくつかのファイルのダウンロードを含むアプリケーションを開発しています。そのため、ダウンロードしたファイル (Quiet センシティブ) を aLibrary ディレクトリに保存する予定です。できれば、サブディレクトリ (非表示としてマーク) を作成し、その下に保存します。しかし、この非表示のサブディレクトリは、ジェイルブレイクされたデバイスで簡単にアクセスできます。
ジェイルブレイクされたデバイスでもアクセスできないライブラリディレクトリに安全に保存する方法はありますか?
パスワードで保護されたサブディレクトリにファイルを作成して保存できますか? サブディレクトリまたはファイルをパスワードで保護するにはどうすればよいですか?
前もって感謝します
c# - ファイル共有が期待どおりに機能しない
現在 NLog によってまだ開かれている間に、プロセスがログ ファイルを読み込もうとしているというファイル共有の問題があります。この問題を診断したところ、驚くべきことがわかりました。以下は失敗します。
2 番目のFileStream
コンストラクター呼び出しは次のエラーで失敗します。
FileStream
これは、最初のものは読書を共有する意欲を示しているという事実にもかかわらずです. さらに驚いたのは、これが機能することです。
ええと、はい、2 番目のストリームを開くときに追加のアクセスを要求すると、実際には問題が回避されます。なぜそうなのか、私は完全に困惑しており、何かを誤解しているとしか思えません。API ドキュメントを読みましたが、実際の動作とは逆に、これがどのように動作するかについて、現在のメンタル モデルをサポートしているだけです。
ドキュメントからの補足的な引用を次に示します。
この列挙型の一般的な用途は、2 つのプロセスが同じファイルから同時に読み取ることができるかどうかを定義することです。たとえば、ファイルが開かれ、読み取りが指定されている場合、他のユーザーはそのファイルを読み取り用に開くことはできますが、書き込み用には開くことができません。
ここに別の宝石があります:
次の FileStream コンストラクターは、既存のファイルを開き、他のユーザーに読み取り専用アクセス (読み取り) を許可します。
FileStream s2 = new FileStream(name, FileMode.Open, FileAccess.Read, FileShare.Read);
誰でもこの動作に光を当てることができますか? これを .NET 4 % Windows XP でテストしています。
c++ - Windows でファイル所有者を存在しないユーザー/SID に設定する
バックアップおよびリカバリ ツールを作成しようとしています。WinPE CD ( http://en.wikipedia.org/wiki/Windows_Preinstallation_Environment ) でコードを実行しています。C: パーティション全体を読み取って、ネットワークに書き込もうとしています。tar コマンドと同じですが、Windows 固有です。ファイル所有者の設定を除いて、すべてが機能しています。Windows は、不明な SID によって所有されているファイルに対して本当に寛容ではないようです。私は WinPE で実行しているため、C: で定義されたほとんどのユーザーはローカル ユーザー データベースにありません。
ここに私が試した機能のいくつかがあります:
- SetFileSecurity (1307 を返す)
- SetSecurityInfo (1307 を返す)
- SetNamedSecurityInfo (1307 を返す)
- BackupWrite (1307 を返す)
- NtSetSecurityObject (0xC000005A を返す)
私はこれができることを知っています。SetACL ( http://helgeklein.com/setacl/ ) はそれを行うことができます。
では、質問です。ファイルの所有者を存在しないユーザー/SID に設定するにはどうすればよいですか? どんな助けでも大歓迎です!
これが私が試したコードのサンプルです: