我刚用 Hiccup 试过这个:
(hiccup.core/html [:h1 "<script>alert('xss');</script>"])
Run Code Online (Sandbox Code Playgroud)
令我惊讶的是,我收到了一个警告框,默认情况下 Hiccup 不会转义字符串。我看到有一种转义字符串的方法,但在我看来,如果它不是默认值,迟早你会忘记并容易受到 XSS 的攻击。
默认情况下,Hiccup 有没有办法让它转义字符串?
不,但是core/h
是一个别名,escape-html
使它稍微方便一些:
(hiccup.core/html [:h1 (hiccup.core/h "<script>alert('xss');</script>")])
Run Code Online (Sandbox Code Playgroud)