2015-07-30 3 views
0

Мы проверили наш сайт на предмет уязвимостей. Мы получили предупреждение об этом коде 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"); 
    } 
} 

ответ

0

Это похоже на ложный положительный результат, как VerticalPosition, который установлен в значение StaticPostBackScrollVerticalPosition используется в стороне клиента код (genereated JavaScript).

Однако, поскольку VerticalPosition является сервером на стороне сервера, это не может быть обработано внешними данными или пользователем, поэтому я верю, что вы в безопасности от XSS в этом случае.

Смежные вопросы