iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 16
1
Security

Web Security 魔法使攻略系列 第 16

Web Security 魔法使攻略─嗑一下 CSP

正文

「傷害太高了,我們快點多喝 HP藥水,好想要買防禦 XSS 的盾牌哦!」
CSP 是內容安全策略(Content Security Policy,簡稱CSP),主要是用來防禦 XSS 的。

「這個防禦書是主攻瀏覽器哦」
我們只要定義一下我們的 header

php 的範例

<?php
header("Content-Security-Policy: default-src *");
?>

Directive

Directive 範例 描述
default-src 'self' cdn.example.com 預設
script-src 'self' js.example.com Javascript
style-src 'self' css.example.com CSS
img-src 'self' img.example.com 圖片
connect-src 'self' Ajax, Websocket
font-src font.example.com 字體
object-src 'self' 物件
media-src media.example.com 媒體

Source Value

Source Value 範例 說明
* img-src * 萬用字元, 除了 data: blob: filesystem:
'none' object-src 'none' 任何資源都不允許
'self' script-src 'self' 只允許自己同域名
data: img-src 'self' data: 允許 data 類如 base64 圖片
example.com img-src example.com 允許指定的域名
*.example.com img-src *.example.com 允許指定的域名底下的子域名
'unsafe-inline' script-src 'unsafe-inline' 允許使用 inline 元素,例如樣式屬性,onclick或 javascript:URI
'unsafe-eval' script-src 'unsafe-eval' 允許進行不安全的動態程式碼,例如JavaScript eval()

可能有漏洞


上一篇
Web Security 魔法使攻略─CSRF
下一篇
Web Security 魔法使攻略─CSP bypasss
系列文
Web Security 魔法使攻略30

尚未有邦友留言

立即登入留言