在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/PHP  iOS  Android  HTML/ 如何防止登錄API 被暴力破解?

如何防止登錄API 被暴力破解?

目前我遇到了一個(gè)問(wèn)題,我正在做一套用戶登錄的api,將來(lái)這套api是給pc和app上共同使用的,那么問(wèn)題來(lái)了,如何防止api被暴力破解?如果對(duì)方只使用一個(gè)賬號(hào)進(jìn)行密碼匹配還好,我可以記錄賬號(hào)的登錄次數(shù),超過(guò)了一定次數(shù)就將該賬號(hào)凍結(jié),但是問(wèn)題來(lái)了:假如我拿到600W賬號(hào)+密碼,一次遍歷輸入,很有可能就撞到一個(gè)匹配的賬戶,限制ip也不可靠,因?yàn)閭卧靑p實(shí)在太簡(jiǎn)單,那么該怎么解決這個(gè)問(wèn)題呢?
如果每次都設(shè)置驗(yàn)證碼,用戶體驗(yàn)太差,驗(yàn)證碼被機(jī)器識(shí)別也只是時(shí)間問(wèn)題,不知道大家怎么解決的?

6.4更新:我其實(shí)一直想的是,如果可以拿到機(jī)器的唯一標(biāo)識(shí),類似mac地址的東西最好,這樣就可以避免攻擊者在一臺(tái)機(jī)器上刷api,無(wú)論他不停換ip換賬號(hào)都沒(méi)用,可惜拿不到,于是就想問(wèn)問(wèn)大廠們是怎么解決的。

回答
編輯回答
礙你眼

1.可以設(shè)置密碼復(fù)雜規(guī)則(包含字母+特殊符號(hào)+數(shù)字+大小寫)
2.設(shè)置控制同一時(shí)間段內(nèi)密碼錯(cuò)誤登錄次數(shù)

2017年2月13日 06:42
編輯回答
有你在

可以對(duì)賬號(hào)與常用ip綁定 新的ip 進(jìn)行驗(yàn)證碼驗(yàn)證 至于破解難度 就看你驗(yàn)證碼的難度了 也此基礎(chǔ)上加上頻率限制

2018年6月6日 22:28
編輯回答
久礙你

就是校驗(yàn)驗(yàn)證碼,但不是每次都校驗(yàn),只有登錄錯(cuò)誤次數(shù)超過(guò)一定限制(比如說(shuō)3次),才會(huì)要求校驗(yàn)驗(yàn)證碼。
即保證了用戶體驗(yàn),也保證了系統(tǒng)安全。

2018年5月15日 15:04
編輯回答
臭榴蓮

拖動(dòng)驗(yàn)證碼的體驗(yàn),還是不錯(cuò)的。
淘寶或者阿里云上經(jīng)常,能看到鼠標(biāo)拖動(dòng)的驗(yàn)證碼

2017年10月26日 16:21
編輯回答
巫婆

第一,如果是開(kāi)發(fā)API建議加入【訪問(wèn)頻率】設(shè)置。例如,如果設(shè)置頻率限制為每分鐘1000次(可以是某個(gè)端口,每個(gè)ip等等),如果一分鐘內(nèi)超過(guò)這個(gè)限制,那么服務(wù)器就會(huì)返回 429: Too Many Attempts.響應(yīng)。
第二,關(guān)于偽造IP地址的防范。你可以發(fā)送請(qǐng)求到對(duì)方ip地址,偽造的ip地址沒(méi)有任何response,其次,如果在PHP里面$_SERVER['REMOTE_ADDR']是沒(méi)有辦法被偽造的,除非用代理,但是PHP一樣可以檢測(cè)代理,然后結(jié)合IP地址可防范泛洪攻擊。

訪問(wèn)頻率限制建議插件:https://github.com/GrahamCamp...
IP檢測(cè):

       $_SERVER['HTTP_X_FORWARDED_FOR']
       || $_SERVER['HTTP_X_FORWARDED']
       || $_SERVER['HTTP_FORWARDED_FOR']
       || $_SERVER['HTTP_CLIENT_IP']
       || $_SERVER['HTTP_VIA']
       || in_array($_SERVER['REMOTE_PORT'], array(8080,80,6588,8000,3128,553,554)))
       || @fsockopen($_SERVER['REMOTE_ADDR'], 80, $errno, $errstr, 30))
    {         
    echo "你丫歇菜吧!";
    }
2018年3月6日 19:53