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表单?
答案 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);
}
}