可以看到XSS危害如此之大, 那么在開(kāi)發(fā)網(wǎng)站時(shí)就要做好防御措施,具體措施如下:可以從瀏覽器的執(zhí)行來(lái)進(jìn)行預(yù)防,一種是使用純前端的方式,不用服務(wù)器端拼接后返回(不使用服務(wù)端渲染)。另一種是對(duì)需要插入到 HTML 中的代碼做好充分的轉(zhuǎn)義。對(duì)于 DOM 型的攻擊,主要是前端腳本的不可靠而造成的,對(duì)于數(shù)據(jù)獲取渲染和字符串拼接的時(shí)候應(yīng)該對(duì)可能出現(xiàn)的惡意代碼情況進(jìn)行判斷。
使用 CSP ,CSP 的本質(zhì)是建立一個(gè)白名單,告訴瀏覽器哪些外部資源可以加載和執(zhí)行,從而防止惡意代碼的注入攻擊。
1、CSP 指的是內(nèi)容安全策略,它的本質(zhì)是建立一個(gè)白名單,告訴瀏覽器哪些外部資源可以加載和執(zhí)行。我們只需要配置規(guī)則,如何攔截由瀏覽器自己來(lái)實(shí)現(xiàn)。
2、通常有兩種方式來(lái)開(kāi)啟 CSP,一種是設(shè)置 HTTP 首部中的 Content-Security-Policy,一種是設(shè)置 meta 標(biāo)簽的方式
對(duì)一些敏感信息進(jìn)行保護(hù),比如 cookie 使用 http-only,使得腳本無(wú)法獲取。也可以使用驗(yàn)證碼,避免腳本偽裝成用戶(hù)執(zhí)行一些操作。