这就是我正在做的事情:
<input value="{{ value | strip_html | escape }}">
看看例子,似乎逃避就足够了
https://github.com/Shopify/liquid/search?p=1&q=escape&unscoped_q=escape
但它并没有逃脱 <
, >
,和"
例如。
(显然没有逃逸会导致 XSS)
我正在使用最新的liquidjs
最佳答案
如果情况发生变化,我会更新这个答案,但看起来像 | escape
就足够了,没有办法在没有双引号的情况下摆脱双引号属性( ""
),我只需要确保我使用双引号。所以这应该足够了:
<input value="{{ value | escape }}">
明确一点<input value="{{ value }}">
让您看到XSS vulnerability .
您可以亲自看到差异:https://jsfiddle.net/h80radfu/
关于javascript - 用液体设置输入值最安全的方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55730947/