2022-01-02 23:35:38 +00:00
|
|
|
//! XSS Safety
|
|
|
|
//!
|
|
|
|
//! This example proves that Dioxus is safe from XSS attacks.
|
|
|
|
|
2021-12-30 08:14:47 +00:00
|
|
|
use dioxus::prelude::*;
|
|
|
|
|
|
|
|
fn main() {
|
2024-01-16 17:45:02 +00:00
|
|
|
launch_desktop(app);
|
2021-12-30 08:14:47 +00:00
|
|
|
}
|
|
|
|
|
2024-01-14 04:51:37 +00:00
|
|
|
fn app() -> Element {
|
2024-01-16 07:24:59 +00:00
|
|
|
let mut contents = use_signal(|| String::from("<script>alert(\"hello world\")</script>"));
|
2021-12-30 08:14:47 +00:00
|
|
|
|
2024-01-16 19:18:46 +00:00
|
|
|
rsx! {
|
2021-12-30 08:14:47 +00:00
|
|
|
div {
|
2022-01-03 05:42:17 +00:00
|
|
|
h1 {"Dioxus is XSS-Safe"}
|
2022-01-02 23:35:38 +00:00
|
|
|
h3 { "{contents}" }
|
2021-12-30 08:14:47 +00:00
|
|
|
input {
|
|
|
|
value: "{contents}",
|
2022-01-02 23:35:38 +00:00
|
|
|
r#type: "text",
|
2023-09-01 20:38:55 +00:00
|
|
|
oninput: move |e| contents.set(e.value()),
|
2021-12-30 08:14:47 +00:00
|
|
|
}
|
|
|
|
}
|
2024-01-14 05:12:21 +00:00
|
|
|
}
|
2021-12-30 08:14:47 +00:00
|
|
|
}
|