網絡技術是從1990年代中期發展起來的新技術,它把互聯網上分散的資源融為有機整體,實現資源的全面共享和有機協作,使人們能夠透明地使用資源的整體能力并按需獲取信息。資源包括高性能計算機、存儲資源、數據資源、信息資源、知識資源、專家資源、大型數據庫、網絡、傳感器等。 當前的互聯網只限于信息共享,網絡則被認為是互聯網發展的第三階段。 三 我認為這是一種比較冒險的辦法,就是再進行一次數據庫的查詢,如果數據庫表內沒有相同的值與之相同那么返回錯誤. sql = "SELECT NAME FROM Category where ID="&ID ‘上面的是數據ID 的檢測,下面則是正式的查詢 sql = "SELECT ID T_ID, NAME FROM Category where ID="&ID&" ORDER BY xh asc" 四,我自己常用的數據過濾腳本,專利,呵~ id=replace(id,”’”,””) If request(“id”)<>”” then ‘取不為空則是為了防止一些程序頁中會出現空值情況,如果不在這里做判斷,程序會校驗出錯. If IsNumeric(request("id"))=False then ' 風清揚修改 ID數據監控程式 程序體(8) 由于我個人的編程習慣,我喜歡將所有的數據檢驗程序全部保留到整站的公用程序中,比如:conn.asp啦,只需要寫一次就可以修復全站的問題. 說到這里,我提一點關于攻擊的問題,就是跑用戶密碼或者是用戶名,一般常用的就是 ….../show.asp?id=1 and 0<>(select count(*) from admin where id=3 and left(username,1)=’a’) 這樣去一個一個嘗試,當然我們不能在這里提什么Perl程序去跑密碼,程序是別人寫,要自己知道原理.這里我只是想給個比較方便的辦法就是取ASC碼范圍.這個要比單獨跑要快很多.不論是是字母,數字,漢字,特殊字符,他們總會有對應的ASC碼,用以下辦法: ….../show.asp?id=1 and 0<>(select count(*) from admin where id=3 and asc(right(left(usernamee,3),1)) between 1 and 10000) 剩下的就隨你了,一般的從97到122就可以啦,字母嘛,很快D.呵呵,有人想用mid 函數當然也是不錯 asc(mid(username,2,1)) between 1 and 10000 也成. 如何更加有效的防止SQL注入攻擊?我們將在下面的文章中具體提到! l 防范遠程注入攻擊 這類攻擊在以前應該是比較常見的攻擊方式,比如POST攻擊,攻擊者可以隨便的改變要提交的數據值已達到攻擊目的.又如:COOKIES 的偽造,這一點更值得引起程序編寫者或站長的注意,不要使用COOKIES來做為用戶驗證的方式,否則你和把鑰匙留給賊是同一個道理. 比如: If trim(Request. cookies ("uname"))="fqy" and Request.cookies("upwd") =”fqy#e3i5.com” then 我想各位站長或者是喜好寫程序的朋友千萬別出這類錯誤,真的是不可饒恕.偽造COOKIES 都多少年了,你還用這樣的就不能怪別人跑你的密碼.涉及到用戶密碼或者是用戶登陸時,你最好使用session 它才是最安全的.如果要使用COOKIES就在你的COOKIES上多加一個信息,SessionID,它的隨機值是64位的,要猜解它,不可能.例: if not (rs.BOF or rs.eof) then 下面我們來談談如何防范遠程注入攻擊,一般的攻擊都是將單表提交文件拖到本地,將Form ACTION=”chk.asp” 指向你服務器中處理數據的文件即可.如果你全部的數據過濾都在單表頁上,那么恭喜你,你將已經被腳本攻擊了. 怎么才能制止這樣的遠程攻擊?好辦,請看代碼如下: 程序體(9) <% " ‘個人感覺上面的代碼過濾不是很好,有一些外部提交竟然還能堂堂正正的進來,于是再寫一個. ‘這個是過濾效果很好,建議使用. if instr(request.servervariables("http_referer"),"http://"&request.servervariables("host") )<1 then response.write "處理 URL 時服務器上出錯。 網絡的神奇作用吸引著越來越多的用戶加入其中,正因如此,網絡的承受能力也面臨著越來越嚴峻的考驗―從硬件上、軟件上、所用標準上......,各項技術都需要適時應勢,對應發展,這正是網絡迅速走向進步的催化劑。 |
溫馨提示:喜歡本站的話,請收藏一下本站!