解讀ASP編程菜鳥易犯的一個錯誤(2)_ASP教程
教程Tag:暫無Tag,歡迎添加,賺取U幣!
推薦:解析ASP連接MSSQL的錯誤: 拒絕訪問在一次ASP程序中不能正常連接MSSQL出現出錯信息如下: 以下為引用的內容: HTTP/1.1 200 OK Server: Microsoft-IIS/5.1 Date: Sun,
| 以下為引用的內容: SUB.asp程序 <% 接收表單中的數據 user=request.from("UserID") 檢察表單提交的數據是否為空(表單頁面可能你用JAVASCRIPT OR VBSCRIPT控制了,但這里也不要忘記控制! if user="" then 轉到出錯提示頁面! response.redirect "err1.htm" 這一句可能沒用,但加上為好! response.end end if pass=request.from("Pass") if pass="" then response.redirect "err2.htm" response.end end if 聯(lián)接數據庫 file=server.mappath("你的數據庫") set conn=server.createobject("adodb.connection") dr="driver={microsoft access driver (*.mdb)};dbq="&file conn.open dr set rs=server.createobject("adodb.recordset") 關鍵是這里的SQL語言 sql="select * from 表 where user= "&user&" and pass= "&pass&" " rs.open sql if not rs.eof then 找到的話就進入管理頁面 reponse.redirect "login.asp" else 沒找到就進入錯誤頁面 response.write "err3.htm" end if %> |
大家感覺以上代碼應該沒問題啊,但是這里有一個嚴重的安全隱患:
我如果想登錄管理員的話可以在SUb.htm表單輸入框中輸入:
第一個文本框中輸入:a or 1 = 1 或 OR =
第二個文本框中輸入:a or 1 = 1 或 OR =
提交,大家會看到...“嗚,聽我說完好不好,磚頭一會再丟過來..."
"a " 和“1”為任意字符
有人會問為什么你輸入這些字符會以管理員身份進入呢??
分享:如何在Asp中設計跨越域的CookieCookie簡介 首先,我們對Cookie做一個簡單的介紹,說明如何利用ASP來維護cookie。 Cookie是存儲在客戶端計算機中的一個小文件,這就意味著每當一個用戶訪問你的站點,你就可以秘密地
相關ASP教程:
- 相關鏈接:
- 教程說明:
ASP教程-解讀ASP編程菜鳥易犯的一個錯誤(2)
。