5

私の Web アプリケーションでは、次の文字を削除します。

( < ,> ,: ," ,/ ,\ , | ,? ,* )

パストラバーサルを防ぐために、ファイルのダウンロード URL から。

これをバイパスする方法はありますか?

安全ですか?

4

1 に答える 1

6

次のガイドを確認してください: http://msdn.microsoft.com/en-us/library/ff647397.aspxただし、問題に関連する部分は以下で強調表示されています。

ファイル名を入力として受け入れる必要がある場合は、System.IO.Path.GetFileName を使用してファイルの完全な名前を使用します。

また、サイトをさらに保護したい場合:

コード アクセス セキュリティを使用してファイル I/O を制限する 管理者は、中程度の信頼で実行するようにアプリケーションを構成することで、アプリケーションのファイル I/O を独自の仮想ディレクトリ階層に制限できます。この場合、.NET コード アクセス セキュリティにより、アプリケーションの仮想ディレクトリ階層外のファイル アクセスは許可されません。

Web.config または Machine.config で要素を設定することにより、中程度の信頼で実行するようにアプリケーションを構成します。 <trust level="Medium" />

于 2013-10-23T11:25:35.003 に答える