由于最近有一些客戶反映,自己的網(wǎng)站受到了短信炸彈攻擊,苦不堪言。我經(jīng)過代碼分析,發(fā)現(xiàn)是由于客戶在使用短信接口時,由于在短信發(fā)送接口上,沒有做好必要的安全防范措施,導(dǎo)致一些不法之徒利用漏洞,對網(wǎng)站發(fā)起攻擊。最終導(dǎo)致客戶自己的短信條數(shù)受到損失。
所以我決定寫這一系列的文章,來通過添加圖形驗證碼,以及其他限制手段,來達到防范短信接口被攻擊的目的。演示案例使用的短信接口是短信寶的接口http://www.gjrencai.com,短信寶這家短信企業(yè)還是非常不錯的,公司也一直在用他們的短信產(chǎn)品。
我們進入正題,首先我先說一下這一系列教程的篇章,我會通過熱身篇,準(zhǔn)備篇,制作圖形驗證碼篇,后短篇,前端篇,以循序漸進的方式,詳細(xì)的闡述整個開發(fā)過程。接下來我說一下通過圖形驗證碼,以及其他的一些限制手段來做防范的原理:
圖形驗證碼的作用:
圖形驗證碼是最有效的防止某一個用戶,使用程序暴力發(fā)送請求,導(dǎo)致接口被不斷訪問的手段。因為它是數(shù)字,字母,干擾線等隨機產(chǎn)生的一張圖片,用戶必須輸入匹配的內(nèi)容,才能發(fā)送請求。攻擊者需要通過程序來分析圖片中的內(nèi)容,才能得到正確的信息,這是非常難做到的。
限制發(fā)送請求的時間間隔:
當(dāng)一次短信請求成功后以后,需要有一個時間間隔的過渡,才能發(fā)送第二次請求,在頁面呈現(xiàn)倒計時的狀態(tài)。使用數(shù)據(jù)庫記錄上一次請求的時間,當(dāng)發(fā)送下一次請求時,程序會從數(shù)據(jù)庫中取出上次請求的時間,來驗證兩次請求的間隔是否達到設(shè)置的間隔時間,這樣有效的防止住了連續(xù)請求。
另外還有很多限制的手段:
如:設(shè)置同一個手機號碼一天內(nèi)只能接受3條同樣內(nèi)容的短信,或者同一個ip地址一天之內(nèi)只能收到3條同樣內(nèi)容的短信等方式來做輔助的限制。
好了,熱身講解就到這里,小伙伴們一定等不及了吧,后面的文章就進入正題,跟著我來一次生動的開發(fā)之旅。
最新更新
電商類
CMS類
微信類