javascript - 用液体设置输入值最安全的方法是什么?

标签 javascript shopify xss liquid

这就是我正在做的事情:

<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/

相关文章:

javascript - 在 require js 中使用 fetch

javascript - Ajax 调用 - 就绪状态流困惑

JavaScript - 跨站点脚本 - 权限被拒绝

asp.net-mvc - 标准 Html.DisplayTextFor() 没有 HTML 编码吗?

python - Django:允许安全的 html 标签

javascript - 为什么这个网站返回包装在 jQuery 标签中的自动完成数据?

javascript - Gruntfile.js - 抛出错误 'Recursive process.nextTick detected"

python - shopify.RecurringApplicationCharge.cancel() AttributeError : 'function' object has no attribute 'body'

css - 移动尺寸上的 Shopify 粘性导航栏未显示?

html - Font Awesome 图标奇怪地没有显示在 Shopify 商店中