台灣最大程式設計社群網站
線上人數
1721
 
會員總數:241166
討論主題:186825
歡迎您免費加入會員
討論區列表 >> ASP.NET >> login帳號密碼錯誤鎖起來
[ 變換順序 ]  
[我要回覆]
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
login帳號密碼錯誤鎖起來
價值 : 10 QP  點閱數:327 回應數:45

樓主

小羊
門外漢
0 4
144 61
發送站內信

我是用Login工具來寫登入程式
我想要加一個功能
如果這個使用者輸入帳號或密碼錯誤三次
把使用者鎖起來不能進入此網頁
要管理員把它解除或幫它創一個新的
這樣要怎麼寫??
請大大幫幫我




搜尋相關Tags的文章: [ ASP.NET ] , [ 網頁 ] , [ 登入 ] ,
本篇文章發表於2017-11-14 16:40
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
31樓
回應

Jerry
捐贈 VP 給 Jerry 檢舉此回應
這是你的程式碼,第一個UPDATE語法的error = 0不需要用Parameters來寫,因為這寫法是死的寫法,不是由使用者輸入的值,不會被攻擊
一定需要使用Parameters來寫的參數是會隨著使用者不同或著使用者輸入的值不同而改變的值才需要使用Parameters來預防SQL Injection

本篇文章回覆於2017-11-15 13:33
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
32樓
回應

Jerry
捐贈 VP 給 Jerry 檢舉此回應
至於輸入時間那邊,因為也不是使用者輸入的資料,應該也不會被攻擊
但還是建議不要用組字串的方式來寫SQL語法,寫成Parameters會更整齊,也比較安全
本篇文章回覆於2017-11-15 13:35
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
33樓
回應

Jerry
捐贈 VP 給 Jerry 檢舉此回應
如果微軟的看不懂
那看看這篇,看能不能比較好理解
[ADO.NET] 為何 / 如何 使用 SQLParameter 物件 | 余小章 @ 大內殿堂 - 點部落
本篇文章回覆於2017-11-15 13:40
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
34樓
作者回應

小羊
檢舉此回應

那我這邊要怎麼改
我有點搞混了
本篇文章回覆於2017-11-15 14:18
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
35樓
回應

Jerry
捐贈 VP 給 Jerry 檢舉此回應
這樣子

本篇文章回覆於2017-11-15 14:21
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
36樓
回應

Jerry
捐贈 VP 給 Jerry 檢舉此回應
哪一行看不懂可以提出
本篇文章回覆於2017-11-15 14:26
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
37樓
作者回應

小羊
檢舉此回應
An SqlParameter with ParameterName '@logintime' is not contained by this SqlParameterCollection.
出現了這個錯誤耶?
本篇文章回覆於2017-11-15 14:28
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
38樓
作者回應

小羊
檢舉此回應
是不是logintime沒有宣告
本篇文章回覆於2017-11-15 14:29
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
39樓
回應

Jerry
捐贈 VP 給 Jerry 檢舉此回應
設定SQL語法,@account與@logintime為取用參數

新增@account與@logintime參數

設定@account與@logintime參數的值

執行

本篇文章回覆於2017-11-15 14:31
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
40樓
作者回應

小羊
檢舉此回應


我也是這樣改
可是出現錯誤
An SqlParameter with ParameterName '@logintime' is not contained by this SqlParameterCollection.

本篇文章回覆於2017-11-15 14:34
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
41樓
回應

Jerry
捐贈 VP 給 Jerry 檢舉此回應
你的第12行打錯字了
是@logintime
不是@logtime
本篇文章回覆於2017-11-15 14:36
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
42樓
作者回應

小羊
檢舉此回應
我找出錯誤了
原來是我宣告名稱打錯
本篇文章回覆於2017-11-15 14:37
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
43樓
作者回應

小羊
檢舉此回應
最後一個問題
為甚麼sqlstring &= "WHERE account = @account;"
account後面要加分號?
本篇文章回覆於2017-11-15 14:39
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
44樓
回應

Jerry
捐贈 VP 給 Jerry 檢舉此回應
分號是一條SQL語法的結尾
因為要同時執行UPDATE跟INSERT語法
所以當UPDATE語法結束時用「分號」代表第一段語法結束
接著打第二段SQL語法
本篇文章回覆於2017-11-15 14:42
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
45樓
作者回應

小羊
檢舉此回應
了解了謝謝你
本篇文章回覆於2017-11-15 14:43
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
[ 變換順序 ]   

回覆
如要回應,請先登入.