1

ファイルをアップロードする前に、ファイル名が一意(ステートレス)になる可能性を高めるために、名前にいくつかの追加情報を追加する必要があります。呼び出すと、プロセスには高い特権が必要であるという発言がFileInfo.LastWriteTime-getスローされます。SecurityException

そのようなデータにはユーザーに関する特定の履歴情報がある程度存在することがわかりますが、とにかく操作がいかに簡単かを考えると、なぜですか?管理者がホストするOOBを必要とせずに同様の情報を取得する他の方法はありますか?

4

2 に答える 2

1

昇格された特権なしでこの情報を取得する方法がある場合、Silverlightの脆弱性になります。このアクティビティを制限するためにこれらのRIAプラットフォームを見るのは一般的ですが、Flexにも同様の制限があります。

一意のファイル名だけが必要な場合は、タイムスタンプ+ファイル名を使用できます。またはmd5(timestamp+random_value)+filename

于 2010-07-13T16:22:15.037 に答える
0

いいえ、なぜですか?Silverlight のセキュリティへのアプローチは、攻撃対象領域をできるだけ小さく保つことだからです。を取得することによって実際に許可されるのFileInfoは、ファイルの内容だけです。ユーザーのファイルシステムで議論される可能性があるときに、アプリケーションがコンテンツの名前に関与する必要があるのはなぜですか。

名前を一意にする必要がある場合は、Guid を使用してください:-

 string fileTitle += Guid.NewGuid().ToString("D");
于 2010-07-13T19:08:05.977 に答える