如題,小的擔心 sql 攻擊,我原本用替換字元寫入資料庫,讀取資料的時候再重新替換回來還原字元,但是這樣很不方便。不知道用驗證控制項的正規表示式可不可以達到這個過濾非法字元的目的,請問大家都是怎麼處理非法字元的?最好說得詳細點,我是個菜鳥,五體投地拜謝中……
看你自己的需要,一般的處理是htmlencode
如果不想顯示這些字元,你可以replace掉。
1.前端js正則過濾.
2.使用引數化呼叫儲存過程.
3.盡量不要使用exec +字串 ,替換為 sp_executesql 來執行
基本上3點可以避免sql注入攻擊
///
/// 對輸入框的特殊字串進行過濾,防止sql注入
///
/// 要被過濾的字串
/// 過濾後的字串
public static string sqlinsertencode(string strfromtext)
return strfromtext; }
把你用的需要過濾的東西 呼叫這個方法! 記得結貼哦 呵呵
global或ihttphanlder中過濾
資料引數化操作
在asp.net中強烈建議通過引數來實現sql而不是sql拼接,因為就算你每乙個都過濾百密難有疏
首先比如說,你怎知單引號「非法」?
編寫出這種「過濾單引號」程式的人就已經喪失了一種能力,而反而要強加給使用者說「單引號非法」,真是爛程式設計師。
如果乙個老闆找乙個程式設計師編寫**訂單程式,結果他心目中暗藏著「單引號非法」這種陰霾,這就是一種欺騙——打著技術的旗號欺騙不懂技術的老闆。
你寫的程式就不能錄入單引號嗎?這是最起碼的技術問題,請不要用什麼「防注入」當作藉口。
結果他心目中暗藏著「單引號非法」這種陰霾 --> 結果找來的人他心目中暗藏著「單引號非法」這種陰霾
且不管是否使用者可以同意允許禁止錄入單引號,首先程式設計師寫的程式就應該在需要錄入單引號時根本不會造成所謂sql注入。這純粹是技術問題,一些人用錯誤的想當然的東西作為「過濾字元」這種爛程式的藉口的。
在真正處理語句的地方處理,如果用.net提供的@sss的方式更好。
我不推薦在txt文字框中替換,然後再替換回來的方式,
當然更不推薦直接不讓錄入!
nba直播
SQL Server裡如何處理死鎖
在今天的文章裡,我想談下sql server裡如何處理死鎖。當2個查詢彼此等待時會發生死鎖,沒有乙個查詢可以繼續它們的操作。首先我想給你大致講下sql server如何處理死鎖。最後我會展示下sql sever裡特定的死鎖型別,還有你如何避免和解決它們。死鎖的好處是sql server自動檢測並解決...
如何處理DDoS
ddos 簡述 ddos是分布式拒絕服務 distributed denial of service 的英文縮寫,其 方式通常是利用很多受 者控制的 殭屍主機 向目標主機傳送大量看似合法的資料報,從而造成主機資源被耗盡或網路被堵塞,導致主機無法繼續正常提供服務。ddos通常可以分為兩類,即資源耗費式...
如何處理DDoS
ddos 簡述 ddos是分布式拒絕服務 distributed denial of service 的英文縮寫,其 方式通常是利用很多受 者控制的 殭屍主機 向目標主機傳送大量看似合法的資料報,從而造成主機資源被耗盡或網路被堵塞,導致主機無法繼續正常提供服務。ddos通常可以分為兩類,即資源耗費式...