"; $script = ""; //echo $img; //echo $script; //echo htmlspecialchars($img, ENT_QUOTES); //echo htmlspecialchars($script, ENT_QUOTES); ``` 二、外來變數 1. 用post方法傳過來的,我們用 $\_POST\['變數名稱'\] 接收。 2. 用get方法傳過來的,我們用 $\_GET\['變數名稱'\] 接收。 3. 用 $\_REQUEST\['變數名稱'\] 同時可接收來自 post、get 和 cookie 的變數 。 三、過濾外來變數 1. 用內建的 [htmlspecialchars()](http://php.net/manual/en/function.htmlspecialchars.php) 函數來過濾。 2. 直接用 [htmlspecialchars($string)](http://php.net/manual/en/function.htmlspecialchars.php) 的話,預設只轉化雙引號,不對單引號做轉義,所以,這樣用htmlspecialchars($string,ENT\_QUOTES) 更好。 3. 另一個和 htmlspecialchars 很像的 [htmlentities](http://php.net/htmlentities) 函數並不適用中文,因為會連同中文字一起轉義。 4. 用 htmlentities 和 htmlspecialchars 只能防止XSS攻擊,不能防止SQL隱碼攻擊。 ``` $img = htmlspecialchars($img, ENT_QUOTES); ``` 5. 改用PHP的 [filter\_var](http://php.net/filter_var) 過濾器亦有同樣效果: ``` $img = filter_var($img, FILTER_SANITIZE_SPECIAL_CHARS); ```
$img = htmlspecialchars($img, ENT_QUOTES); ``` 5. 改用PHP的 [filter\_var](http://php.net/filter_var) 過濾器亦有同樣效果: ``` $img = filter_var($img, FILTER_SANITIZE_SPECIAL_CHARS); ```
$img = filter_var($img, FILTER_SANITIZE_SPECIAL_CHARS); ```