使用 Hiccup 自动转义 HTML,这可能吗?

pup*_*eno 6 clojure hiccup

我刚用 Hiccup 试过这个:

(hiccup.core/html [:h1 "<script>alert('xss');</script>"])
Run Code Online (Sandbox Code Playgroud)

令我惊讶的是,我收到了一个警告框,默认情况下 Hiccup 不会转义字符串。我看到有一种转义字符串的方法,但在我看来,如果它不是默认值,迟早你会忘记并容易受到 XSS 的攻击。

默认情况下,Hiccup 有没有办法让它转义字符串?

Joh*_*man 2

不,但是core/h是一个别名,escape-html使它稍微方便一些:

(hiccup.core/html [:h1 (hiccup.core/h "<script>alert('xss');</script>")])
Run Code Online (Sandbox Code Playgroud)