日常編碼中需注意的資訊保安問題

2021-07-13 20:17:58 字數 949 閱讀 5193

1.編碼

(1)拼寫sql時,引數應使用佔位符,防止sql注入

(2)異常資訊不要返回給客戶端,這樣會暴露表結構資訊

(3)url的命名,以springmvc為例,url中不要使用『工程名/類名/方法名』的結構(例如***controller),攻擊者會根據url推測內部實現

(4)檔案上傳功能一定要過濾檔案格式以及大小(乙個比較合理的大小是100m以內)

(5)正式環境日誌級別使用warn。除錯時可任意更改,除錯完成後恢復為warn

(6)去掉所有的// todo

2.工具

(1)使用findbugs

(2)svn提交時,應該要求所有人填寫注釋,方便定位歷史問題和版本維護

(3)伺服器應禁止使用root使用者

(4)**混淆:**混淆的目標是讓反彙編夠困難,讓攻擊者能夠在攻擊程式之前放棄(問題是開發者本身也難以維護)

①增加從不執行的** 

②分散**

(5)混淆壓縮js

3.密碼

(1)憑證的有效期限制,比如要求使用者每兩個月更新一次密碼

(2)密碼的儲存和傳輸需要加密。另外,盡量避免password、passwd、pwd關鍵字,防止被抓包

(3)密碼強度校驗,避免使用root、admin、123456等簡單密碼。如果是管理員賬號,密碼最好是隨機產生的字母數字符號的隨機組合(可以做乙個密碼生成器)。

(4)沒有驗證碼,這種情況下攻擊者可以重**送認證請求(也沒有做請求次數的限制),即:密碼有可能被遍歷到。

(5)增加賬戶管理或自助修改密碼的模組

(6)設定資源過濾,比如webcontent下的『a.log』可以直接訪問。這種情況下,攻擊者通過遍歷路徑,有可能獲得本不能看到的檔案。

(7)建立使用者時,初始密碼使用隨機字串,並將原始密碼傳送至使用者郵箱,原始密碼使用md5加密儲存到資料庫。

重置密碼使用相同手段,以此可以保證密碼不會被洩露。

c程式設計中需注意的問題

1.對於指標變數,乙個非常中的操作就是要判斷其有效性,即是否為空指標。如利用動態記憶體申請運算子申請記憶體後,需要首先對記憶體是否申請成功進行判斷。2.static 再c語言中宣告函式時,該static 函式只具有檔案作用域。及該函式的作用域被限制再宣告它的模組內。3.變數型別的自動轉換 當乙個操作...

Spring MVC 表單提交中需注意的問題

spring mvc 有用於表單繫結的標籤。但這些標籤最終也會生成標準的 html 頁面。所以,理論上這些標籤是不需要的,只要模擬它們生成的 html 就可以了。spring mvc 的 form 標籤生成的 html 很有規律 元素的 id 屬性對應 modelattribute,input 元素...

在Jni中需注意的記憶體問題

jni中需注意的記憶體問題 以下函式都是需要成對出現的 getstringutfchars releasestringutfchars getstringcritical releasestringcritical getstringregion setstringregion getarrayel...