2022-01-02 18:35:38 -05:00
|
|
|
//! XSS Safety
|
|
|
|
//!
|
|
|
|
//! This example proves that Dioxus is safe from XSS attacks.
|
|
|
|
|
2021-12-30 03:14:47 -05:00
|
|
|
use dioxus::prelude::*;
|
|
|
|
|
|
|
|
fn main() {
|
|
|
|
dioxus::desktop::launch(app);
|
|
|
|
}
|
|
|
|
|
|
|
|
fn app(cx: Scope) -> Element {
|
2022-03-01 02:50:03 -05:00
|
|
|
let contents = use_state(&cx, || {
|
2022-01-03 00:42:17 -05:00
|
|
|
String::from("<script>alert(\"hello world\")</script>")
|
|
|
|
});
|
2021-12-30 03:14:47 -05:00
|
|
|
|
|
|
|
cx.render(rsx! {
|
|
|
|
div {
|
2022-01-03 00:42:17 -05:00
|
|
|
h1 {"Dioxus is XSS-Safe"}
|
2022-01-02 18:35:38 -05:00
|
|
|
h3 { "{contents}" }
|
2021-12-30 03:14:47 -05:00
|
|
|
input {
|
|
|
|
value: "{contents}",
|
2022-01-02 18:35:38 -05:00
|
|
|
r#type: "text",
|
2022-03-01 02:50:03 -05:00
|
|
|
oninput: move |e| contents.set(e.value.clone()),
|
2021-12-30 03:14:47 -05:00
|
|
|
}
|
|
|
|
}
|
|
|
|
})
|
|
|
|
}
|