2008年7月16日 星期三

避免URL網址後面被亂塞資料

偵測頁面的參數,是否存在惡意程式碼,如: 符號 %

透過 Request.Params.Count 取得畫面所有參數,
這些參數,包含著URL後面所串接的所有資訊。
可以寫個簡單的迴圈,去查每個參數是否包含了惡意程式碼符號。

protected void Button2_Click(object sender, EventArgs e)
{
bool bAlert = false;

StringBuilder str = new StringBuilder();
for (int i = 0; i < Request.Params.Count; i++) { str.Append(string.Format("{1}:{0} ",Request.Params[i].ToString(),i)); if (Request.Params[i].ToString().Contains("%")) bAlert = true; } Label1.Text=str.ToString(); if (bAlert) { Label1.Text = Label1.Text + " 偵測到惡意程式碼!"; } } PS:可以將這判斷方法寫成一個類別,並讓每一個頁面去繼承這個類別。
程式碼參考
特殊字元參考

沒有留言:

張貼留言