一、防止文字框注入
js**:
html**:
只能輸入數字和字母:keyup="return antisqlvalid(this)" />二、防止url注入
在global檔案裡裡加入
if (request.querystring != null) }
}if (request.form.count > 0)
else
if (s3 != s1) }
} }三、對引數進行sql防止注入判斷
public static string safesqlliteral(string inputsql)", " "); //two or more spaces
inputstring = regex.replace(inputstring, "(<[b|b][r|r]/*>)+|(<[p|p](.|//n)*?>)", "/n"); //
inputstring = regex.replace(inputstring, "(//s*&[n|n][b|b][s|s][p|p];//s*)+", " "); //
inputstring = regex.replace(inputstring, "<(.|//n)*?>", string.empty); //any other tags
inputstring = inputstring.replace("'", "''");
return inputstring;
}else
return inputstring;
}
c.徹底杜絕sql注入
1.不要使用sa使用者連線資料庫
2、新建乙個public許可權資料庫使用者,並用這個使用者訪問資料庫
3、[角色]去掉角色public對sysobjects與syscolumns物件的select訪問許可權
4、[使用者]使用者名稱-> 右鍵-屬性-許可權-在sysobjects與syscolumns上面打「×」
5、通過以下**檢測(失敗表示許可權正確,如能顯示出來則表明許可權太高):
declare @t varchar(255),
@c varchar(255)
declare table_cursor cursor for
select a.name,b.name from sysobjects a,syscolumns b
where a.id=b.id and a.xtype= 'u ' and (b.xtype=99 or b.xtype=35 or b.xtype=231 or b.xtype=167)
open table_cursor
fetch next from table_cursor into @t,@c
while(@@fetch_status=0)
begin print @c
fetch next from table_cursor into @t,@c
end
close table_cursor
deallocate table_cursor
sql2005做法:
1、在系統檢視找到sysobjects a,syscolumns b ,屬性,進入許可權,找到select後面拒絕打勾即可。
防SQL注入
這段 有好處也有壞處,用的時候得小心,搞不好就會跳進錯誤 dimsql injdata sql injdata and exec insert select delete update chr mid master truncate char declare sql inj split sql in...
防SQL注入
1.必須認定使用者輸入的資料都是不安全的 使用者輸入的資料進行過濾處理 if preg match w get username matches else 讓我們看下在沒有過濾特殊字元時,出現的sql情況 設定 name 中插入了我們不需要的sql語句 name qadir delete from ...
防SQL注入
與資料庫互動的 web 應用程式中最嚴重的風險之一 sql 注入攻擊。sql 注入是應用程式開發人員未預期的把 sql 傳入到應用程式的過程,它由於應用程式的糟糕設計而使攻擊成為可能,並且只有那些直接使用使用者提供的值構建 sql 語句的應用程式才會受影響。sql 語句通過字串的構造技術動態建立,文...