二、發短信:基本上沒人願意直接和短信運營商對接,壹般通過第三方短信服務商購買短信。當用戶主動獲取短信時,前端檢查圖片驗證碼,後端檢查發送量和發送間隔(圖片驗證碼可以被機器識別)。做短信日誌記錄,這些日誌可以為前面的後臺驗證提供數據,系統運行過程中的各種好處就不舉例說明了。重要的功能是語音驗證碼,比如登記提現活動,短信驗證碼可以識別。
三、頁面數據獲取:用戶普通的刷新數據會增加服務器的壓力。當然沒人能阻止用戶刷新吧?但是減少主動刷新的次數也是減輕服務器壓力的壹種方式。不能自己騙自己,(表頁切換檢查,不再拉數據等。)
第四,前端靜態資源作為CDN,可以提高用戶訪問速度,減輕服務器壓力。
五、用戶輸入為SQL註入,javascript腳本註入。
6.使用的ajax請求:做ajax加攔截器,通過消息頭過濾掉非Ajax地址欄訪問(可能誰也攔截不了全部,但是妳還是可以得到壹些白的,個人攻擊不了)
七、對用戶輸入數據進行驗證,輸入文本長度,輸入數字大小,並合理使用int和long等數據類型。(兌換積分時,用戶只有1積分,妳讓他輸入兌換積分,當妳輸入2100000000,收到int時,超出範圍,變成負數。)還有壹點很重要。
八、異常捕獲:不要把異常信息扔給用戶,首先不雅觀,其次這些錯誤信息可能包含SQL錯誤,通過它可以了解妳的數據庫結構。
九、獲取前端數據時減少不必要的字段輸出,java是面向對象的,表格數據是面向對象的。本來頁面只需要兩個數據,結果妳返回了壹個實體。前端已經可以看到妳數據庫的表結構了。多看幾頁,然後妳的數據庫設計就給別人了。
十、用戶信息加密傳輸,壹定不要把重要數據留在客戶端,泄露重要信息的責任由妳來承擔。
十壹、現在越來越多的人使用阿裏雲服務器,做客戶項目的時候,服務器是客戶購買的。當然,阿裏雲賬號客戶也有。如果您的配置文件沒有加密,客戶可以看到您的系統配置。如果結合以上來搞妳的數據庫,妳的產品有什麽秘訣?至於代碼,妳覺得有價值嗎?
十二、前端js腳本與頁面分離,壓縮或加密。不要讓妳的團隊辛辛苦苦開發出來的漂亮頁面和效果被壹個ctrl+s帶回家,更不要說妳的JS裏面有很多邏輯。
十三、螺紋安全:
1,同步同步(有序性,可見性),
2.使用生產者-消費者模式,(喚醒通知()和等待())
3.易失性同步(可見性,無序性,只有在沒有基礎數據賦值操作時才直接操作主存,減少主存復制到工作內存的cpu消耗)。
十四、數據庫讀寫分開時,要註意個別業務讀和主數據庫讀(避免主從同步失敗或延遲)。