【问题标题】:CSRF synchronize token pattern implementation in ASP.net webform appASP.net Web 表单应用程序中的 CSRF 同步器令牌模式实现
【发布时间】:2017-08-21 13:01:23
【问题描述】:

在 ASP.net webform 应用程序中实现 CSRF 同步令牌模式,我在 aspx 页面中添加了这个 <%= System.Web.Helpers.AntiForgery.GetHtml() %>

protected void Page_Load(object sender, EventArgs e)
{
  if (IsPostBack)
     AntiForgery.Validate();
  }

它工作得很好。

现在,我需要在 100 多个页面和多个应用程序中实施类似的更改。在当前框架中,我为每个页面\视图都有基类,我在重写方法Page_Load() 中添加了AntiForgery.Validate();,但是如何通过 C# 代码在 aspx 页面中动态添加这个<%= System.Web.Helpers.AntiForgery.GetHtml() %> 代码?

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

【问题讨论】:

    标签: asp.net webforms csrf


    【解决方案1】:
    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);
        }
    

    }

    【讨论】:

      猜你喜欢
      • 2013-08-14
      • 1970-01-01
      • 2011-09-19
      • 2013-04-09
      • 2018-03-19
      • 2021-10-17
      • 2017-01-15
      • 1970-01-01
      • 2016-06-26
      相关资源
      最近更新 更多