Мы проверили наш сайт на предмет уязвимостей. Мы получили предупреждение об этом коде StaticPostBackScrollVerticalPosition
для потенциальных межсайтовых скриптов.проблема с межсайтовым скриптингом с функцией javascript
Как исправить эту проблему? Пожалуйста, дайте мне знать.
private const string VerticalPosition = "StaticPostBackScrollVerticalPosition";
private const string ScriptHidden = "document.forms[0].{0}.value";
private const string SaveScriptName = "StaticPostBackScrollPositionSave";
private const string LoadScriptName = "StaticPostBackScrollPositionLoad";
private const string ScriptGetPosition = ScriptHidden + " = (navigator.appName == 'Netscape') ? window.page{1}Offset : document.documentElement.scroll{2};";
private string GetPositionScript()
{
StringBuilder sb = new StringBuilder();
sb.Append("<script language=\"JavaScript\"> \n");
sb.Append("function SaveScrollPosition() { \n");
sb.AppendFormat(ScriptGetPosition , VerticalPosition, "Y", "Top");
sb.Append("setTimeout('SaveScrollPosition()', 100);");
sb.Append("} \n");
sb.Append("SaveScrollPosition(); \n");
sb.Append("</script> \n");
return sb.ToString();
}
private void ScrollPosition()
{
if (!this.ClientScript.IsStartupScriptRegistered(SaveScriptName))
{
this.ClientScript.RegisterClientScriptBlock(GetType(), SaveScriptName, GetPositionScript());
this.ClientScript.RegisterHiddenField(VerticalPosition , "0");
}
}