<thead id="fflbj"><font id="fflbj"><cite id="fflbj"></cite></font></thead>
    <progress id="fflbj"><thead id="fflbj"><font id="fflbj"></font></thead></progress>

            課程題目: Java安全編碼高級培訓

            4401 人關注
            (78637/99817)
            課程大綱:

            Java安全編碼高級培訓

             

             

            1 安全編碼概述
            1.1 錯位的信任
            1.2 注入攻擊
            1.3 敏感數據泄露
            1.4 效能泄露
            1.5 拒絕服務
            1.6 序列化
            1.7 并發性、可見性和內存
            1.8 低權限原則
            1.9 安全管理器
            1.10 類裝載器
            2 輸入驗證和數據凈化(IDS)規則風險評估概要
            2.1 凈化穿越受信邊界的非受信數據
            2.2 驗證前標準化字符串
            2.3 在驗證之前標準化路徑名
            2.4 不要記錄未經凈化的用戶輸入
            2.5 限制傳遞給ZipInputStream的文件大小
            2.6 使用ASCII字符集的子集作為文件名和路徑名
            2.7 從格式字符串中排除用戶輸入
            2.8 不要向Runtime.exec 方法傳遞非受信、未凈化的數據
            3 聲明和初始化(DCL)規則風險評估概要
            3.1 防止類的循環初始化;
            3.2 不要重用Java標準庫的已經公開的標識;
            3.3 將所有增強for語句的循環變量聲明為final類型
            4 表達式(EXP)規則風險評估概要
            4.1 不要忽略方法的返回值
            4.2 不要解引用空指針
            4.3 使用兩個參數的Arrays.equals方法來比較兩個數組的內容
            4.4 不要用相等操作符來比較兩個基礎數據類型的值
            4.5 確保使用正確的類型來自動封裝數值
            4.6 不要在一個表達式中對同一變量進行多次寫入
            4.7 不要在斷言中使用有副作用的表達式
            5 數值類型與運算(NUM)規則風險評估概要
            5.1 檢測和避免整數溢出
            5.2 不要對同一數據進行位運算和數學運算
            5.3 確保除法運算和模運算中的除數不為0
            5.4 使用可容納無符號數據合法取值范圍的整數類型
            5.5 不要使用浮點數進行精細計算
            5.6 不要使用非標準化數
            5.7 使用strictfp修飾符確??缙脚_浮點運算的一致性
            5.8 不要嘗試與NaN進行比較
            5.9 檢查浮點輸入特殊的數值
            5.10 不要從浮點字元構造BigDecimal對象
            5.11 不要使用浮點變量作為循環計數器
            5.11.1 確保將數值轉換成較小類型時不會產生數據丟失或曲解
            6 面向對象(OBJ)規則風險評估概要
            6.1 只有受信子類能對具有不變性的類和方法進行擴展
            6.2 聲明數據成員為私有并提供可訪問的封裝器方法
            6.3 當改變基類時,保存子類之間的依賴關系
            6.4 在新代碼中,不要混用具有泛型和非泛型的原始數據類型
            6.5 為可變類提供復制功能,并通過此功能允許將實例傳遞給非受信代碼
            6.6 在返回引用之前,防御性復制私有的可變的類成員
            6.7 對可變輸入和可變的內部組件創建防御性復制
            6.8 不允許敏感類復制其自身
            6.9 不要在嵌套類中暴露外部類的私有字段
            6.10 比較類而不是類名稱
            6.11 不要使用公有靜態的非final變量
            6.12 小心處理構造函數拋出異常的情況
            7 方法(MET)規則風險評估概要
            7.1 驗證方法參數
            7.2 不要使用斷言驗證方法參數
            7.3 不要使用棄用的或過時的類和方法
            7.4 進行安全檢測的方法必須聲明為private或final
            7.5 不要增加被覆寫方法和被隱藏方法的可訪問性
            7.6 確保構造函數不會調用可覆寫的方法
            7.7 不要在clone中調用可覆寫的方法
            7.8 不要定義類方法來隱藏基類或基類接口中聲明的方法
            7.9 確保比較等同的對象能得到相等的結果
            7.10 定義了equlas方法的類必須定義hashCode方法
            7.11 實現compareTo方法時遵守常規合約
            7.12 確保比較中的關鍵碼是不可變的
            7.13 不要使用析構函數
            8 異常行為(ERR)規則風險評估概要
            8.1 不要消除或忽略可檢查的異常
            8.2 不能允許異常泄露敏感信息
            8.3 記錄日志時應避免異常
            8.4 在方法失敗時恢復對象先前的狀態
            8.5 不要在finally程序段非正常退出
            8.6 不要在finally程序段中遺漏可檢查異常
            8.7 不要拋出未聲明的可檢查異常
            8.8 不要拋出RuntimeException、Exception或Throwable
            8.9 不要捕捉NullPointerException或任何它的基類
            8.10 禁止非受信代碼終止JVM
            9 可見性和原子性(VNA)規則風險評估概要
            9.1 當需要讀取共享基礎數據類型變量時,需要保證其可見性
            9.2 保證對一個不可變對象的共享引用的可見性
            9.3 保證對于共享變量的組合操作是原子性的
            9.4 即使每一個方法都是相互獨立并且是原子性的,也不要假設一組調用是原子性的
            9.5 保證串聯在一起的方法調用是原子性的
            9.6 保證在讀寫64位的數值時的原子性


            538在线视频二三区视视频