任何使用者有可能輸入的地方, 都有可能被執行 JavaScript 造成 XSS, 所以必須要做 htmlspecialchars 等動作.
避免網頁被執行 JavaScript 的方式
若是此頁面是允許使用者輸入 HTML 語法, 除了做 Filter 外, 可以再加上 noscript, 如下述範例:
<noscript> <script> alert('abc'); // 將不會執行 </script> </noscript>
注意
- 不可因為使用 noscript, 就忽略 htmlspecialchars 等類似的動作.
- 使用者可以幫你輸入 noscript 結尾, 再繼續幫你寫 script. 🙂