2013-05-18 21 views
7

Tôi đang cố gắng tạo ứng dụng đóng gói Chrome từ một ứng dụng web phức tạp. Tôi hiện đang gặp lỗi:Cách đặt script-src trong ứng dụng đóng gói của Chrome?

Refused to execute inline event handler because it violates the following Content Security Policy directive: "default-src 'self' chrome-extension-resource:". Note that 'script-src' was not explicitly set, so 'default-src' is used as a fallback.

Làm cách nào để đặt chính sách rõ ràng trong tệp kê khai của tôi? Tôi đã thử những thứ như:

"content_security_policy": "default-src 'inline'; script-src 'inline'" 

nhưng tôi vẫn nhận được thông báo lỗi tương tự. Cú pháp của tôi sai, hay là lỗi của một cá trích đỏ?

Trả lời

14

Bạn không thể nới lỏng CSP mặc định trong ứng dụng đóng gói. Nếu bạn đang làm một cái gì đó như <button id="foo" onclick="doSomething()"> thì thay vào đó bạn nên bao gồm một tệp JS riêng biệt trong HTML nơi bạn thực hiện một document.querySelector("#foo").onclick = doSomething; trong trình xử lý tải của bạn. Điều này sẽ tuân thủ CSP và làm cho ứng dụng của bạn có khả năng chống lại các cuộc tấn công XSS.

+2

Tôi sợ điều đó. Tôi ước họ chỉ nói điều đó hơn là ngụ ý tôi có thể thiết lập một lựa chọn khác một cách rõ ràng. –

+1

Điểm công bằng. Tôi nghĩ điều đang xảy ra là cảnh báo đang được kích hoạt cho CSP * mặc định *, để chúng tôi (các nhà phát triển Chromium) cần phải cập nhật nó trong mã nguồn. Theo quan điểm của bạn, với tư cách là nhà phát triển, cảnh báo là một sự ngứa ngáy mà bạn không thể làm xước được. Tôi sẽ có một cái nhìn. – sowbug

+0

Cảm ơn. Tôi cũng dường như nhận được thông báo ngay cả khi tôi cố gắng thiết lập chính sách bảo mật một cách rõ ràng. –

1

tôi phải đối mặt với cùng một vấn đề, và tôi khi đọc this document tôi thấy như sau:

"sandbox": { 
    "pages": ["sandboxed.html"] 
} 
Các vấn đề liên quan