我們?yōu)g覽網(wǎng)站經(jīng)常會用到一些驗證碼,主要目的是防止來自暴力破解或密碼窮舉等方面的攻擊夭坪,但有時候驗證碼的出現(xiàn)也會影響用戶的瀏覽體驗文判,解決方案之一就是設置一個拋錯閥值,當有惡意用戶在嘗試暴力破解或窮舉的時候輸錯次數(shù)超過閥值室梅,便觸發(fā)驗證碼框的彈出戏仓,這樣既可以阻止攻擊者的惡意行為又可以提高合法用戶的瀏覽體驗潭流。那么trouble來了,我通過什么信息去標識一個用戶呢?
一? 對于已注冊過的用戶
已經(jīng)注冊過的用戶肯定有自己的用戶ID柜去,而且這個ID是不會變的,那么就可以利用這個ID做全局變量拆宛,然后設置count計數(shù)嗓奢,當超過輸錯上限的閥值(比如3次或6次)的時候,驗證碼彈出浑厚。
二? 對于未注冊過的用戶
方法1. 未注冊過的用戶通常沒有用戶ID股耽,這個時候可以獲取用戶IP地址并綁定該用戶,然后設置閥值并計數(shù)钳幅,超過上限便彈驗證碼框物蝙。
方法2. 定義一個全局變量,運行幾次加幾次敢艰,當超過閥值的時候觸發(fā)驗證碼彈框即可诬乞。
(以上解決方案僅供參考,如有不妥請盡管拍磚指正钠导。)