【问题标题】:Handlerbars on escaping input?转义输入的把手?
【发布时间】:2014-12-19 06:45:28
【问题描述】:

我正在测试一些前端代码,我可以看到使用 {{}} 处理程序栏接受输入的代码,所以如果我输入一个 input = &123 ,不应该将其转换为 &amp123 然后存储在服务器中因为两个双胡子意味着像“&”这样的字符被转义了。当我查看正在发送到服务器的帖子时,它仍然显示为 &123。

【问题讨论】:

    标签: ember.js xss handlebars.js html-escape-characters


    【解决方案1】:

    不,{{}} 完成的 HTML 转义只与值如何呈现到 DOM 中有关。使用 {{input}} 输入的字符串不会被 Ember 以任何方式转换,也不应该如此。

    一般来说,不希望对保存在 DB 中的信息进行 HTML 转义。 DB中的数据应该是实际数据。当数据在 HTML 上下文中显示时,HTML 转义是应该做的事情,就像 Ember 所做的那样,“在路上”。

    如果您真的想在服务器中保留 HTML 转义数据,那么您可以在保存之前在服务器上转义它,或者在 Ember 序列化程序中转义。但是,在检索数据时,您必须在服务器上对其进行转义,或者将其按原样发送到客户端,或者将其转义为反序列化程序,或者记住它已经转义并使用 @ 放入 DOM 987654323@(三把)。

    【讨论】:

      猜你喜欢
      • 2015-05-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-19
      • 2016-07-29
      • 1970-01-01
      • 2014-05-26
      • 2017-07-31
      相关资源
      最近更新 更多