WEB應用數據驗證指南

WEB應用數據驗證指南

 

1.爲什麼要驗證數據?

如果不驗證數據,容易導致WEB應用出現多種漏洞,比如:SQL注入***,命令注入***,跨站點腳本***,編碼***,文件系統***和緩衝區溢出。因此,爲了保護WEB應用的安全,我們必須驗證數據。
2.什麼地方需要驗證數據?

 所有從用戶或其它設備接受數據的代碼部分。
3.什麼數據需要驗證?

HTTP頭部,cookies,session,查詢字符串,表格字段,和隱藏字段等。
4.怎樣驗證數據?

4.1 驗證策略

按順序選擇使用下面的四種策略:
n 接受正確的數據:如果知道某個數據的所有特點,就可以只接受具有所有這些特點的數據。比如對手機號碼的驗證就可以使用本方法。
n 拒絕錯誤的數據:如果知道具有某些特點的數據是錯誤的,就可以明確拒絕具有這些特點的數據。
n 規範化數據:對數據進行分析,去掉有問題的部分,並進行適當的修改和轉換,從而將其轉化爲正確的數據。
n 不作驗證數據:  萬不得已纔不驗證數據。
4.2驗證方法

n 檢查數據類型;
n 檢查字符型數據的長度範圍;
n 檢查數值型數據的大小範圍;
n 驗證數據來源進行, 防止跨站***也可以在APACHE配置文件裏面做);
n 過濾掉下面的特殊字符或爲其編碼:
Character

Encoding

<

&lt;   or &#60;

>

&gt;   or &#62;

&

&amp;  or &#38;

"

&quot; or &#34;

'

&#39;

(

&#40;

)

&#41;

#

&#35;

%

&#37;

 ;

&#59;

+

&#43;

-

&#45;

 

n 儘可能使用存儲過程操作後臺數據庫;
n 在生成SQL語句的地方:
Ø 過濾掉輸入變量中的雙引號和單引號;
Ø 過濾常用sql 關鍵字;
Ø 對於數值型字段變量,驗證其值確實是數字;
n 適當使用圖片驗證;
n 驗證數據操作的權限;

 

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