欧美激情网,国产欧美亚洲高清,欧美屁股xxxxx,欧美群妇大交群,欧美人与物ⅴideos另类,区二区三区在线 | 欧洲

知識(shí)學(xué)堂
  • ·聯(lián)系電話(huà):+86.023-75585550
  • ·聯(lián)系傳真:+86.023-75585550
  • ·24小時(shí)手機(jī):13896886023
  • ·QQ 咨 詢(xún):361652718 513960520
當(dāng)前位置 > 首頁(yè) > 知識(shí)學(xué)堂 > 常見(jiàn)技術(shù)問(wèn)題
防止數(shù)據(jù)庫(kù)被注入惡意代碼
更新時(shí)間:2012-05-07 | 發(fā)布人:本站 | 點(diǎn)擊率:419
數(shù)據(jù)庫(kù)被惡意注入代碼是非常致命的問(wèn)題,主要的手段有:利用程序漏洞,用一段程序就可以測(cè)試出來(lái),主要體現(xiàn)在前臺(tái)提交的一些表單上沒(méi)有對(duì)非法字符進(jìn)行過(guò)濾!那么我們?nèi)绾畏乐棺⑷肽?(這里只針對(duì)asp+MSSQL)
 
首先就是在程序中加上防止注入的過(guò)濾函數(shù):
 
檢測(cè)非字符
SQL_injdata = "|exec|insert|||delete|set | || | |char | || ||mid( |asc( ||cast|declare|exec|varchar|<script|script|iframe|3bomb|c.js"  
SQL_inj = split(SQL_Injdata,"|")
 
檢測(cè)GET
If Request.QueryString<>"" Then  
 For Each SQL_Get In Request.QueryString  
  For SQL_Data=0 To Ubound(SQL_inj)  
  if instr(lcase(Request.QueryString(SQL_Get)),Sql_Inj(Sql_DATA))>0 Then  
  response.write "輸入非法,數(shù)據(jù)庫(kù)拒絕一些特殊的字符!"
  Response.end  
  end if  
  next  
 Next  
End If  
 
檢測(cè)POST
If Request.Form<>"" Then  
 For Each Sql_Post In Request.Form  
  For SQL_Data=0 To Ubound(SQL_inj)  
  if instr(lcase(Request.Form(Sql_Post)),Sql_Inj(Sql_DATA))>0 Then  
  response.write "輸入非法,數(shù)據(jù)庫(kù)拒絕一些特殊的字符!"
  Response.end  
  end if  
  next  
 next  
end if
 
檢測(cè)cookie
If Request.Cookies<>"" Then  
 For Each Sql_Cookie In Request.Cookies  
  For SQL_Data=0 To Ubound(SQL_inj)  
  if instr(lcase(Request.Cookies(Sql_Cookie)),Sql_Inj(Sql_DATA))>0 Then  
  response.write "輸入非法,數(shù)據(jù)庫(kù)拒絕一些特殊的字符!"
  Response.end  
  end if  
  next  
 next  
end if
 
這樣就基本上把表單提交數(shù)據(jù)時(shí)的漏洞給堵死了!從三個(gè)方面判斷,直接請(qǐng)求數(shù)據(jù)和表單提交或者cookies提交數(shù)據(jù)非法字符都會(huì)被過(guò)濾掉!
 
dim server_v1,server_v2
server_v1=Cstr(Request.ServerVariables("HTTP_REFERER"))
if server_v1<>"" then
 if instr(server_v1,"3bomb")>0 then
 response.write "<br><br><center><table border=1 cellpadding=20 bordercolor=black bgcolor=#EEEEEE width=450>"
 response.write "<tr><td style=font:9pt Verdana>"
 response.write "你提交的路徑有誤,禁止從站點(diǎn)外部提交數(shù)據(jù)請(qǐng)不要亂該參數(shù)!"
 response.write "</td></tr></table></center>"
 response.end
 end if
else
server_v1=Cstr(Request.ServerVariables("SERVER_NAME"))
end if
server_v2=Cstr(Request.ServerVariables("SERVER_NAME"))
 
if instr(server_v1,"3bomb")>0instr(server_v2,"3bomb")>0 then
 response.write "<br><br><center><table border=1 cellpadding=20 bordercolor=black bgcolor=#EEEEEE width=450>"
 response.write "<tr><td style=font:9pt Verdana>"
 response.write "你提交的路徑有誤,禁止從站點(diǎn)外部提交數(shù)據(jù)請(qǐng)不要亂該參數(shù)!"
 response.write "</td></tr></table></center>"
 response.end
end if
 
這段程序首先得到訪問(wèn)你網(wǎng)站的來(lái)源,如果是從您知道的一個(gè)非法域名3bomb上過(guò)來(lái)就不讓他訪問(wèn)。
這個(gè)就完成了對(duì)某一指定域名的屏蔽,這個(gè)域名極有可能就是一段媽媽程序!
 
禁止某些ip訪問(wèn) ---------------------
if instr(Request.ServerVariables("REMOTE_ADDR"),"209.172.33")>0 then  
Response.Write "拒絕訪問(wèn)"
response.End()  
end if  
 
實(shí)在不行就通過(guò)ip進(jìn)行屏蔽,如果訪問(wèn)來(lái)源是某一個(gè)ip段就進(jìn)行屏蔽
 
這三招保證您的數(shù)據(jù)庫(kù)以后不在受注入的干擾,個(gè)人的親身體驗(yàn)