在 5.6 -> 7.1 的討論串看到一些安全相關的對話
感覺有些東西值得單獨拿出來討論
我自己的意見是這樣:
- 不要一開始就把資料做跳脫,只有到最後要把資料餵出去給其他地方的時候才做
- 例如,做 SQL 的那一行,或寫 HTML 那行
- 設計來幹什麼的 function,就只拿來幹什麼
- htmlentities 只處理 html,不處理 SQL injection
- 不要用 addslashes 跟 magic quote
- 如果可以的話,不要自己組 SQL/HTML/Javascript
- 從根本確保沒有 injection 這件事