基於IP進行短信防護

我們最近開發了一款全新的產品,一開始短信的防護是依靠生成動態gif驗證碼來實現的,但是最近產品提出這個方案對用戶不太友好,要求我們改成基於IP的防護,且不說這種方式對於小區或是學校這種出口只有少數IP的情景不太好限制,且說我們怎麼拿到用戶的真實IP就是一個問題.我們之前拿到客戶的IP的X-Forwarded-For方式用戶是可以造假的,具體文章參考http://www.jianshu.com/p/98c08956183d.
我們線上的主營業務是買了第三方的防護,因此對於特定的接口訪問,可以在他那裏幫我們攔截,但是我們新上的項目,還沒有盈利,未來的收益是不確定的,不太好直接買服務,因此攔截就得靠我們自己了.我們的網絡結構是用戶首先連接阿里的LBS服務,然後轉發到我們平臺的nginx服務器,然後再轉發到我們的jetty服務器.其中nginx服務負責把用戶的https請求給轉成http請求分發給後端jetty服務.因此和用戶的客戶端真正tcp握手的就是nginx,它能拿到用戶的真正的IP地址,因此在java代碼裏面拿用戶IP就得取X-Real-IP.當然如果我們的這個應用用戶都使用的話,我們對接了第三方防護了,代碼也不需要改動,只需要修改nginx配置,把第三方拿到的IP放到X-Real-IP中就可以了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章