PHP 依資料用途進行消毒

232 月

PHP 依資料用途進行消毒

 

想要開發安全的 Web 應用程式,最重要的是正確掌握資料的「用途」狀態。

  1. 一般正規化消毒→一般處理用資料
    例如:trim、magic_quotes_gpc、NUL、強制轉型、大小寫轉換、值域範圍檢查、白名單檢查、RegExp規則檢查
  2. HTML輸出用消毒→HTML輸出用資料
    例如:htmlspecialchars, strip_tags, htmlentities
  3. SQL輸出用消毒→SQL輸出用資料
    例如:mysql_real_escape_string, addslashes

最重要的是,這些「用途」的資料,應明確加以區別,不要混淆使用,一定要明確配合「用途」進行轉換。
所有資料的交換,都應使用「一般處理用資料」來進行,再依資料「用途」進行消毒,避免混用而造成遺忘或重複消毒。

Posted by admin  Posted on 23 2 月 
  • PHP
  • Post Comments 0