2011-10-25 7 views
3

このpage lists a number of security issuesは、プライマリWebサイトからユーザーをリダイレクトするときに注意する必要があります。ASP.NET MVCのすべてのオフサイトリンクの中間ページを強制しますか?

どのようにハイパーリンクが作成されているときを検出するためにASP.NET MVC「パイプライン」にフック、そしてそれはどんな簡単にはありません、このようなhttps://host.com/redirect.aspx?http://yourlink.com

答えて

2

としてリダイレクトページに行くようにそれを変更することができますあなたのViewコードで作成されたすべてのリンクを直接変更することができます。

ユーザーがJavaScriptを有効にしていると仮定すると、最も簡単な方法はおそらくjQueryを使用してページのリンクをスキャンし、必要に応じて変更することです。そうすれば、他のコードを変更する必要はありません。

http://jquery-howto.blogspot.com/2009/06/find-select-all-external-links-with.html

別のアプローチは、特定の拡張メソッドを呼び出すことによって、常に外部リンクを作成するためのポリシーを持っているだろう:

@Html.ExternalLink("Click here", "http://www.google.com") 

これは、より多くの保守オーバーヘッドが発生しますが、少なくともそれがリダイレクトコードを統合あなたが将来何かをする必要がある場合には、それを簡単に変更できる1つの場所に移動します。

+0

+1私はバックアップとしてアプローチが好きですが、リンクをネイティブに書き出すことを好むでしょう – LamonteCristo

+0

@ makerofthings7:更新されました。 – StriplingWarrior

関連する問題