2017-08-21 3 views
1

CSRF ASP.net webformアプリケーションでトークンパターンの実装を同期させました。これをaspxページの<%= System.Web.Helpers.AntiForgery.GetHtml()%>に追加しました。 protected void Page_Load(オブジェクト送信者、EventArgs e) { if(IsPostBack) AntiForgery.Validate(); } と完璧に動作します。 今、私は100以上のページと複数のアプリケーションにまたがって同様の変更を実装する必要があります。現在のフレームワークでは、各ページのビューにBaseクラスがあり、ここにAntiForgery.Validate()を追加しました。メソッドをオーバーライドするPage_Load()しかし、私はこれを追加することができます<%= System.Web.Helpers.AntiForgery.GetHtml()%> C#コードを介してaspxページのコードを動的に?CSRFがASP.net Webformアプリケーションでトークンパターンの実装を同期

基本的には、どのようにC#コードですべてのasp.net Webフォームに<%= System.Web.Helpers.AntiForgery.GetHtml()%>を追加するのですか?

答えて

0

名前空間WebAppForXSRF {パブリック部分クラスSiteMaster:マスターページ {
保護ボイドをPage_Load(オブジェクト送信者、のEventArgs電子) {IF(IsPostBackプロパティ) {AntiForgery.Validate()。 }}

protected override void OnInit(EventArgs e) 
    { 
     LiteralControl literalContols = new LiteralControl(); 
     literalContols.Text = System.Web.Helpers.AntiForgery.GetHtml().ToHtmlString(); 
     this.MasterForm.Controls.Add(literalContols); 
    } 

}

関連する問題