<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    XSS 漏洞怎么防范


    發現錯別字 1年前 提問
    回答
    1
    瀏覽
    6260
    請勿發布不友善或者負能量的內容。與人為善,比聰明更重要!
    回答數量: 1
    CISP-PTE CISM-WSE

    防范xss漏洞的措施:

    輸入過濾

    有時候需要多次過濾 ,例如 < scrip < script > t >過濾掉 < script > 后還是 < script >,需要注意多個過濾器的先后次序。當多個過濾器一起生效時,有可能后進行的過濾導致前面的過濾失效。

    純前端渲染

    在純前端渲染中,我們會明確的告訴瀏覽器:下面要設置的內容是文本(.innerText),還是屬性(.setAttribute),還是樣式(.style)等等。瀏覽器不會被輕易的被欺騙,執行預期外的代碼了。

    轉義 HTML

    如果拼接 HTML 是必要的,就需要采用合適的轉義庫,對 HTML 模板各處插入點進行充分的轉義。

    常用的模板引擎,如 doT.js、ejs、FreeMarker 等,對于 HTML 轉義通常只有一個規則,就是把 & < > " ' / 這幾個字符轉義掉,確實能起到一定的 XSS 防護作用。

    標簽和屬性基于白名單過濾

    對于副文本編輯器來說,其產物本身就是 html 代碼,所以沒辦法簡單粗暴使用轉義來處理,應該要對內容中的標簽和屬性,基于白名單進行過濾。(附 XSS 黑名單:DOM 中的內聯事件監聽器如onclick等、<a>標簽的href屬性、<script>標簽、css 中的url功能)

    回答所涉及的環境:聯想天逸510S、Windows 10。

    1年前 / 評論
    亚洲 欧美 自拍 唯美 另类