[英]Preventing Cross Site scripting attack
有人告訴我解決XSS腳本攻擊。 這是場景
我想要的是在此處編寫的任何腳本都應進行編碼,並應重定向到我創建的錯誤頁面。
現在,使用我當前的代碼,當編寫任何腳本時,該頁面都將重定向到“錯誤”頁面,但是我希望該腳本也得到編碼。
請查看我的代碼來實現此目的,並告訴我應該在哪里進行更改,以便可以對其進行編碼。
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.