1、過濾輸入、避免輸出php
有時咱們將短語「過濾輸入、避免輸出」縮寫爲FIEO,這已成爲PHP應用程序的安全真言。html
一、利用ctype進行驗證web
ctype:http://php.net/ctype正則表達式
二、利用PCRE(Perl兼容的正則表達式)進行驗證sql
PCRE:http://php.net/pcre數據庫
2、跨站腳本瀏覽器
跨站腳本一般簡稱爲XSS,攻擊載體以在應用程序輸出中由用戶提供的變量所在位置爲目標,但該變量沒有適當地轉義。這容許攻擊者注入他們選擇的一個客戶端腳本做爲這個變量值的一部分。下面是代碼受到這種類型攻擊的示例:安全
<form action="<?php echo $_SERVER['PHP_SELF'];?>"> <input type="submit" value="submit" /></form>
在線資源:服務器
一、http://ha.ckers.org/xss.htmlsession
二、http://shiflett.org/articles/cross-site-scripting
三、http://seancoates.com/blogs/xss-woes
3、僞造跨站腳本
比方說,某個攻擊者想從一個流行的在線商店中獲得一個昂貴的商品而不用付錢。相反,他們想讓一個絕不知情的受害者支付這筆金額。他們選擇的武器是:一個僞造的跨站請求。這種攻擊類型的目標就是讓受害者發送一個請求到某個特定的網站,從而利用受害者在該網站已經註冊的身份信息。
在線資源:
一、http://shiflett.org/articles/cross-site-request-forgeries
二、http://shiflett.org/articles/foiling-cross-site-attacks
4、會話固定
如前所示,用戶會話是一個常常受到攻擊的目標,這種對潛在的受害者和目標網站的識別能力使得一些攻擊有隙可乘。這裏有3種攻擊者得到有效會話標示符的方法。按難度順序排列,它們分別是:
一、固定
二、捕獲
三、預測
在線資源:
一、http://shiflett.org/articles/session-fixation
二、http://phpsec.org/projects/guide/4.html#4.1
三、http://www.owasp.org/index.php/Session_fixation
5、會話劫持
會話劫持這個詞有些難懂,由於咱們用它描述兩件事情:
一、致使攻擊者得以進入網站上與受害者帳戶相關聯的會話,而無論他如何獲取訪問權的任何類型的攻擊。
二、須要捕獲一個已創建的會話標識符,而不是經過固定技術或預測取得會話標識符的特定類型攻擊。
在線資源:
一、http://shiflett.org/articles/session-hijacking
二、http://shiflett.org/articles/the-truth-about-sessions
三、http://phpsec.org/projects/guide/4.html#4.2
6、SQL注入
這種類型攻擊的性質與前面所講過的「過濾輸入、避免輸出」有關。基本上,SQL注入很是相似於XSS,在XSS中,攻擊對象使得應用程序認爲用戶輸入的含義超過了它所表明的數據。XSS的目的是讓那些輸入做爲客戶端代碼而被執行;而SQL注入的目的是讓這些輸入被認爲是一個SQL查詢,或者是查詢的一部分。
在線資源:
一、http://shiflett.org/articles/sql-injection
二、http://phpsec.org/projects/guide/3.html#3.2
7、儲存密碼
在Web應用程序能有效處理數據庫查詢中用戶輸入的狀況下,攻擊者需使用更普遍的手段訪問用戶帳戶。通常來講,其中也包括獲取受害者的訪問憑證來訪問他們的數據。
其中一個實現方法即是強行進入Web應用程序使用的數據庫服務器。根據你使用何種數據庫、數據庫如何配置等相關信息,攻擊者有不少的侵入方法。
在線資源:
一、http://php.net/mcrypt
二、http://www.openwall.com/phpass/
三、http://codahale.com/how-to-safely-store-a-password/
8、暴力破解攻擊
對攻擊者而言,侵入數據庫或解密加密的密碼技術門檻太高。在這種狀況下,攻擊者可能嘗試使用一個腳本,模擬一個正經常使用戶使用瀏覽器登陸到Web應用程序的HTTP請求,他們用給定用戶名和隨機密碼嘗試登入,直到找到正確的密碼。這種方式成爲「暴力破解攻擊」。
在線資源:
一、https://www.owasp.org/index.php/Brute_force_attack
二、http://en.wikipedia.org/wiki/Brute-force_attack
9、SSL
在線資源:
一、http://arst.ch/bgm
二、http://www.owasp.org/index.php/SSL_Best_Practices
PHP安全相關資源:
一、http://www.php.net/manual/en/security.php PHP手冊中有關於各類安全問題的章節
二、http://phpsecurity.org/ 這是《Essential PHP Security》一書的相關網站
三、http://phpsec.org/projects/guide/ PHP安全協會的項目之一就是《PHP Security Guide》
四、http://www.enigmagroup.org/ 該網站提供了針對Web應用程序和論壇的許多潛在攻擊載體的相關信息和實用練習。