**請參考產品安全檢查表。**
> **輸入和輸出:**
>> **檢查是否做了HTML代碼的過濾**
可能出現的問題:如果有人輸入惡意的HTML代碼,會導致竊取cookie, 產生惡意登錄表單,和破壞網站。
>
>>**檢查變量做數據庫操作之前是否做了`escape`**
可能出現的問題:如果一個要寫入查詢語句的字符串變量包含了某些特殊的字符,比如引號(',")或者分號(;) 可能造成執行了預期之外的操作。
<br/>建議采用的方法:使用`mysql_escape_string()`或實現類似功能的函數。
>
>>**檢查輸入數值的合法性**
可能出現的問題:異常的數值會造成問題。如果對輸入的數值不做檢查會造成不合法的或者錯誤的數據存入UDB、存入其它的數據庫或者導致意料之外的程序操作發生。
> **舉例:**如果程序以用戶輸入的參數值做為文件名,進行文件操作,惡意輸入系統文件名會造成系統損毀。
>> **核實對cookie的使用以及對用戶數據的處理**
可能出現的問題:不正確的cookie使用可能造成用戶數據泄漏。
>
>> **訪問控制**
對內部使用的產品或者供合作方使用的產品,要考慮增加訪問控制。
>
>> **logs**
確保用戶的保密信息沒有記在log中(例如:用戶的密碼);
確保對關鍵的用戶操作保存了完整的用戶訪問記錄。
>
>> **https**
對敏感數據的傳輸要采用https。
- 1、編寫目的
- 2、整體要求
- 3、安全規范
- 3.1、包含文件
- 3.1.1、命名規則
- 3.1.2、存放規則
- 3.2、安全規則
- 3.3、一些針對PHP的規則
- 3.4、其它處理規則
- 3.4.1、輸入參數處理
- 3.4.2、操作大HTML文本
- 4、編碼規范
- 4.1、命名規范
- 4.1.1、變量命名
- 4.1.2、類命名
- 4.1.3、方法或函數
- 4.1.4、縮寫詞
- 4.1.5、數據庫表名
- 4.1.6、數據庫字段
- 4.2、書寫規則
- 4.2.1、代碼縮進
- 4.2.2、大括號{}書寫規則
- 4.2.3、小括號()和函數、關鍵詞等
- 4.2.4、=符號書寫
- 4.2.5、if else swith for while等書寫
- 4.2.6、類的構造函數
- 4.2.7、語句斷行
- 4.2.8、數字
- 4.2.9、判斷
- 4.2.10、避免嵌入賦值
- 4.2.11、錯誤返回檢測規則
- 4.3、程序注釋
- 4.3.1、程序頭注釋塊
- 4.3.2、類的注釋
- 4.3.3、函數和方法的注釋
- 4.3.4、變量或者語句注釋
- 4.4、其它規范
- 4.4.1、PHP代碼標記
- 4.4.2、程序文件名、目錄名
- 4.4.3、PHP項目通常的文件目錄結構
- 4.4.4、PHP和HTML代碼的分離問題
- 4.4.5、PHP項目開發中的程序邏輯結構
- 5、特定環境下PHP編碼特殊規范
- 5.1、變量定義
- 5.2、引用的使用
- 5.3、變量的輸入輸出