如何實現(xiàn)網(wǎng)頁上給手機發(fā)短信?
短信一般都是調(diào)用第三方的接口。短信一般有三種:驗證碼短信、通知短信(例如物流到貨通知、短信簽收通知等)和運營短信(各類大促短信)。
驗證碼跟通知短信、運營短信的鏈路不同。
以網(wǎng)易云短信的發(fā)送作栗子。
驗證碼的發(fā)送:
一種是利用網(wǎng)易云生成的驗證碼,驗證碼的生成及驗證,都在網(wǎng)易云服務(wù)器上完成。
用戶在app/網(wǎng)頁上發(fā)起驗證碼請求→開發(fā)者服務(wù)器調(diào)用網(wǎng)易云的短信生成接口生成驗證碼→驗證碼發(fā)給用戶填寫→調(diào)用網(wǎng)易云短信驗證接口,驗證短信
第二種是開發(fā)者利用網(wǎng)易云的通知短信接口,自己生成驗證碼并驗證。
當(dāng)然,驗證碼在使用時,要注意避免被惡意盜刷消耗賬戶余額。一般基于 WEB 方式(基于客戶端方式的原理與之類似),由兩個模塊組成,包括:一個前端Web 網(wǎng)頁,提供輸入被攻擊者手機號碼的表單;一個后臺攻擊頁面(如 PHP),利用從各個網(wǎng)站上找到的動態(tài)短信URL 和前端輸入的被攻擊者手機號碼,發(fā)送 HTTP 請求,每次請求給用戶發(fā)送一個動態(tài)短信。
這種一般有3種處理預(yù)防機制:1.增加圖形驗證2.單IP 請求次數(shù)限制3.限制號碼發(fā)送。
通知短信和運營短信的路徑:
開發(fā)者調(diào)用網(wǎng)易云短信接口→發(fā)送短信給用戶。
通知短信和運營短信是按照每秒3000條的迸發(fā)量。開發(fā)者請求短信發(fā)送時,網(wǎng)易云短信會按照每100條自動拆分發(fā)送,這樣能保證短信順利發(fā)送出去,而不至于因為短信短時間請求量過大而導(dǎo)致短信發(fā)送失敗。
為了保證短信的效果,建議晚上8:00-早上8:00不要給用戶發(fā)運營類的短信,避免用戶投訴。