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

问题描述 投票:1回答:1

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

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

asp.net webforms csrf-protection
1个回答
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);
    }

}

© www.soinside.com 2019 - 2024. All rights reserved.