hw1 實作_3. XSS
在別人的網站上執行 js 就叫做 XSS
修補 XSS 漏洞
推薦在顯示的時候做 escape,為什麼不在一開始使用者輸入時做呢?假時以後手機的 IOS 或者 Android 都要使用一樣的資料庫,那保持使用者輸入資料的原始資料會比較好
所以我們要在任何使用者可以輸入的地方加上這個函式
如何防止 XSS 攻擊?
在這個範例中,我們在 utils.php 裡面建立一個函式叫做 escape,php 內建函式 htmlspecialchars()
function escape ($str) {
return htmlspecialchars($str, ENT_QUOTES);
}
在顯示的時候做跳脫,因為以後有可能其他手機 app 也會用到,應該保持使用者輸入的內容
因此通常會在 index.php, login.php 等做跳脫,而不是在 handle_login.php 裡面做
只要使用者可以輸入的地方,都必須要做這件事