CSRF在ASP.net webform应用程序中同步令牌模式实现

时间:2017-08-21 13:01:24

标签: asp.net webforms csrf-protection

CSRF在ASP.net webform app中同步令牌模式实现,我添加了这个<%= System.Web.Helpers.AntiForgery.GetHtml()%>在aspx页面和 protected void Page_Load(object sender,EventArgs e) { if(IsPostBack)  AntiForgery.Validate(); } 它工作得很好。 现在我要求在100多个页面和多个应用程序之间实现类似的更改,在当前的框架中,每个页面都有基类\ view我添加了AntiForgery.Validate();在overiden方法Page_Load()但我怎么能添加这个<%= System.Web.Helpers.AntiForgery.GetHtml()%>通过C#代码动态地在aspx页面中编写代码吗?

基本上,如何添加<%= System.Web.Helpers.AntiForgery.GetHtml()%>使用C#代码动态地编写所有asp.net Web表单?

1 个答案:

答案 0 :(得分:0)

namespace WebAppForXSRF
{
    public partial class SiteMaster : MasterPage
    {        
        protected void Page_Load(object sender, EventArgs e)
        {
            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);
    }

}