善用跳脫字元,避免不合法的輸入內容

資安呀~

簡述

在做 Todo list 的時候就有預先想到可能會有這種情況:

dangerous

如果你沒有做任何防範,使用者就能直接把 <script> 塞到你的網頁做壞事。

比較安全的作法

所以可以寫一個 function 專門跳脫這些危險字元:

1
2
3
4
5
6
7
8
9
/* 把 < > @ ' " 都做字元跳脫 */
function escapeHTML(unsafe) {
return unsafe
.replace(/&/g, '&amp;')
.replace(/</g, '&lt;')
.replace(/>/g, '&gt;')
.replace(/'/g, '&#039;')
.replace(/"/g, '&quot;')
}

備註:建議不要亂改這個順序,否則輸出結果可能跟你想的不一樣。

這樣子就能做到「最基本」的資訊安全,特別強調「基本」是因為厲害的人還是有辦法繞道而行。

safe

DOM 一些邊緣但蠻好用的 API DOM 之在動畫結束後做某件事
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×