Content-Security-Policy
Header khác
Cấu hình server
security.txt
Mẫu có sẵn
Directive
default-srcGiá trị dự phòng cho mọi fetch directive bạn không đặt.
'self'
script-srcJavaScript được tải từ đâu, và script inline hay eval() có được chạy không.
'nonce-REPLACE_WITH_PER_REQUEST_NONCE'
'strict-dynamic'
https:
'unsafe-inline'
style-srcStylesheet, khối <style> inline và thuộc tính style.
'self'
'nonce-REPLACE_WITH_PER_REQUEST_NONCE'
img-srcẢnh và favicon.
'self'
data:
font-srcWeb font tải bằng @font-face.
'self'
connect-srcĐích của fetch, XHR, WebSocket, EventSource và sendBeacon.
'self'
media-srcNguồn của <audio>, <video> và <track>.
Chọn hoặc gõ nguồn: 'self', https://cdn.example.com …
frame-srcCác trang mà trang này được nhúng bằng <iframe>.
Chọn hoặc gõ nguồn: 'self', https://cdn.example.com …
object-srcPlugin <object> và <embed> — hãy đặt 'none'.
'none'
worker-srcWeb worker, shared worker và service worker.
Chọn hoặc gõ nguồn: 'self', https://cdn.example.com …
manifest-srcWeb app manifest.
Chọn hoặc gõ nguồn: 'self', https://cdn.example.com …
frame-ancestorsAi được nhúng trang NÀY vào frame — thay thế hiện đại cho X-Frame-Options. Bị bỏ qua khi đặt trong thẻ <meta>.
'none'
form-actionNơi form được phép gửi dữ liệu tới.
'self'
base-uriCác giá trị <base href> được phép. Không kế thừa từ default-src.
'none'
upgrade-insecure-requestsĐổi URL tài nguyên con http:// thành https:// trước khi tải.
block-all-mixed-contentlỗi thời
Đã lỗi thời: trình duyệt vốn đã chặn hoặc nâng cấp nội dung hỗn hợp. Hãy dùng upgrade-insecure-requests.
report-toTên nhóm trong Reporting-Endpoints sẽ nhận báo cáo vi phạm.
csp-endpoint
report-urilỗi thời
Đã lỗi thời, thay bằng report-to, nhưng một số trình duyệt chỉ hỗ trợ cái này — hãy gửi cả hai.
https://example.com/csp-reports
Policy
Đưa vào cấu hình server
Chế độ Report-Only
Đang áp dụng: vi phạm bị chặn. Nếu site có script bên thứ ba, hãy thử ở chế độ Report-Only trước.
Content-Security-Policy: default-src 'self'; script-src 'nonce-REPLACE_WITH_PER_REQUEST_NONCE' 'strict-dynamic' https: 'unsafe-inline'; style-src 'self' 'nonce-REPLACE_WITH_PER_REQUEST_NONCE'; img-src 'self' data:; font-src 'self'; connect-src 'self'; object-src 'none'; frame-ancestors 'none'; form-action 'self'; base-uri 'none'; upgrade-insecure-requestsTạo nonce ở phía server
Thay giá trị nonce bằng một giá trị ngẫu nhiên mới (ít nhất 16 byte, base64) cho mỗi response, và đặt đúng giá trị đó vào thuộc tính nonce của từng thẻ <script>. Nonce cố định không bảo vệ được gì.
Phân tích:
Không phát hiện vấn đề