簡體   English   中英

防止跨站點腳本攻擊

[英]Preventing Cross Site scripting attack

有人告訴我解決XSS腳本攻擊。 這是場景

請參閱圖像以了解您的圖像圖像1圖像2圖像3

我想要的是在此處編寫的任何腳本都應進行編碼,並應重定向到我創建的錯誤頁面。

現在,使用我當前的代碼,當編寫任何腳本時,該頁面都將重定向到“錯誤”頁面,但是我希望該腳本也得到編碼。

請查看我的代碼來實現此目的,並告訴我應該在哪里進行更改,以便可以對其進行編碼。

protected void btnSearch_Click(object sender, ImageClickEventArgs e)
{
    if(Regex.IsMatch(txtSearch.Text, "[^a-zA-Z0-9 %  +]"))
        {   
            Response.Redirect("Error.aspx");
        }
        else
        {
            String ClearSpaces = Regex.Replace(txtSearch.Text, @"\s+", " ");
            Response.Redirect("search.aspx?tx=" + HttpUtility.UrlEncode(ClearSpaces));
        }
}

您的另一個問題又是我:)如果您在實施其他人的解決方案后提出此問題,似乎就像我告訴您的那樣,XSS並沒有得到緩解。 我不明白“這里編寫的任何腳本都應進行編碼,並應重定向到我創建的錯誤頁面”的意思-如果重定向到錯誤頁面,則不會以任何方式顯示用戶的輸入。

正如我在另一篇文章中告訴您的那樣,如果您在此處編寫的這段代碼不是search.aspx的一部分,則直接訪問search.aspx會繞過此驗證。 您應該將此驗證復制到search.aspx並驗證QueryString [“ tx”],和/或在頁面的輸出處HTMLEncode QueryString [“ tx”]的任何用法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM