62,252
社区成员
发帖
与我相关
我的任务
分享
public class PageBase : System.Web.UI.Page
{
protected override void OnInit(EventArgs e)
{
base.PreLoad += new EventHandler(this.PagePreLoad);
// 这里还有其他代码,省略了。例如判断登录状态等代码
}
private void PagePreLoad(object sender, EventArgs e)
{
this.RegisterClientScript();
}
//向前台注册引用js和css
private void RegisterClientScript()
{
string script = "<script src='/js/main.js' type='text/javascript'></script>";
if (!ClientScript.IsClientScriptBlockRegistered("BaseScript"))
{
ClientScript.RegisterClientScriptBlock(this.GetType(), "_BaseClientScript", script);
}
}
}
<body >
<form name="form1" method="post" action="Default.aspx" id="form1">
<div>
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/EPDwUKLTI1NjMw……" />
</div>
<!-- js的位置会在这里。我现在不想放这里了 -->
<script src='/js/main.js' type='text/javascript'></script>
……
string newContent = oldContent.Replace("</html>", "</html><script>alert('我在</html>后面');</script>");
protected override void Render(HtmlTextWriter writer)
{
StringWriter stringWriter = new StringWriter();
HtmlTextWriter oldwriter = new HtmlTextWriter(stringWriter);
base.Render(oldwriter);
string oldContent = stringWriter.ToString();
string newContent = oldContent.Replace("</html>", "</html><script>alert("我在</html>后面");</script>");
writer.Write(newContent);
}
Literal lit = new Literal();
lit.Text = "<script...>";
this.Form.Controls.Add(lit);