mirror of
https://github.com/tauri-apps/tauri.git
synced 2024-09-11 07:55:34 +03:00
feat(core): use a strict CSP on the isolation iframe (#9075)
This commit is contained in:
parent
86fa339de7
commit
7cec1049e8
5
.changes/strict-isolation-csp.md
Normal file
5
.changes/strict-isolation-csp.md
Normal file
@ -0,0 +1,5 @@
|
||||
---
|
||||
"tauri": patch:enhance
|
||||
---
|
||||
|
||||
Use a strict content security policy on the isolation pattern HTML.
|
@ -10,6 +10,8 @@ use std::sync::Arc;
|
||||
|
||||
use crate::{manager::webview::PROCESS_IPC_MESSAGE_FN, webview::UriSchemeProtocolHandler};
|
||||
|
||||
const CSP: &str = "default-src: 'none'";
|
||||
|
||||
pub fn get(assets: Arc<EmbeddedAssets>, aes_gcm_key: [u8; 32]) -> UriSchemeProtocolHandler {
|
||||
Box::new(move |request, responder| {
|
||||
let response = match request_to_path(&request).as_str() {
|
||||
@ -23,6 +25,7 @@ pub fn get(assets: Arc<EmbeddedAssets>, aes_gcm_key: [u8; 32]) -> UriSchemeProto
|
||||
match template.render(asset.as_ref(), &Default::default()) {
|
||||
Ok(asset) => http::Response::builder()
|
||||
.header(CONTENT_TYPE, mime::TEXT_HTML.as_ref())
|
||||
.header("Content-Security-Policy", CSP)
|
||||
.body(asset.into_string().as_bytes().to_vec()),
|
||||
Err(_) => http::Response::builder()
|
||||
.status(http::StatusCode::INTERNAL_SERVER_ERROR)
|
||||
|
1
examples/api/src-tauri/Cargo.lock
generated
1
examples/api/src-tauri/Cargo.lock
generated
@ -3302,6 +3302,7 @@ dependencies = [
|
||||
"gtk",
|
||||
"http",
|
||||
"jni",
|
||||
"log",
|
||||
"percent-encoding",
|
||||
"raw-window-handle 0.6.0",
|
||||
"softbuffer",
|
||||
|
Loading…
Reference in New Issue
Block a user