## 2. 安全
* [OWASP開發指南](http://www.owasp.org/index.php/Category%3aOWASP_Guide_Project)?幾乎覆蓋了網站安全所有的內容。
* 了解注入,尤其是?[SQL注入](http://en.wikipedia.org/wiki/SQL_injection),并學會如何阻止它。
* 永遠不要相信用戶的輸入,以及其他任何請求(包括Cookies和隱藏域的值)。
* 使用鹽值(salt)哈希密碼,并對不同的行使用不同的鹽值,防止攻擊。使用哈希算法如?bcrypt 或?scrypt(更安全,但比較新)([1](http://www.tarsnap.com/scrypt.html),?[2](http://it.slashdot.org/comments.pl?sid=1987632&cid=35149842))來存儲密碼。([如何安全的存儲密碼](http://codahale.com/how-to-safely-store-a-password/))。[NIST也允許使用PBKDF2來加密密碼](http://security.stackexchange.com/q/7689/396)。避免直接使用 MD5 和?SHA 等算法。
* [不要企圖拿出自己喜歡的認證系統](http://stackoverflow.com/questions/1581610/how-can-i-store-my-users-passwords-safely/1581919#1581919)。這是很容易出錯的,并且是不可測的,甚至直到你被攻擊了你才知道。
* 了解[信用卡處理規則](https://www.pcisecuritystandards.org/)。(也可查看[該問題](http://stackoverflow.com/questions/51094/payment-processors-what-do-i-need-to-know-if-i-want-to-accept-credit-cards-on-m))
* 在登錄頁和任何需要輸入敏感數據的頁面使用[SSL/HTTPS](http://www.mozilla.org/projects/security/pki/nss/ssl/draft302.txt)。
* [防止 session 被劫持](http://en.wikipedia.org/wiki/Session_hijacking#Prevention)。
* 避免[跨站腳本](http://en.wikipedia.org/wiki/Cross-site_scripting)(XSS)。
* 避免[點擊劫持](http://en.wikipedia.org/wiki/Clickjacking)。
* 保持系統更新到最新的補丁。
* 確保數據庫連接信息的安全。
* 讓自己了解最新的攻擊技術和會影響你平臺的漏洞。
* 閱讀[谷歌瀏覽器安全手冊](http://code.google.com/p/browsersec/wiki/Main)。
* 閱讀[WEB應用黑客手冊](http://amzn.com/0470170778)。
* 考慮[最小特權原則](https://en.wikipedia.org/wiki/Principle_of_least_privilege),盡量使用[非root用戶](http://security.stackexchange.com/questions/47576/do-simple-linux-servers-really-need-a-non-root-user-for-security-reasons)運行服務器(以[tomcat](http://tomcat.apache.org/tomcat-8.0-doc/security-howto.html#Non-Tomcat_settings)為例)。