use*_*786 0 xss html-escape-characters handlebars.js ember.js
我正在测试一些前端代码,我可以看到使用{{}}处理程序栏输入的代码,所以如果我输入了一个输入=&123,那么这不应该转换为&123然后存储在服务器中,因为两个双小胡子意味着像'&'这样的字符被转义.当我查看发送到服务器的帖子时,它仍显示为&123.
小智 5
不,HTML转义{{}}仅仅与如何将值呈现到DOM中有关.输入的字符串{{input}}不会被Ember以任何方式转换,也不应该转换.
通常,人们不希望在DB中保存HTML转义信息.DB中的数据应该是实际数据.当数据在HTML上下文中显示时,正如Ember所做的那样,HTML转义是应该完成的事情.
如果您确实希望在服务器中保留HTML转义数据,那么您可以在保存之前或者在Ember序列化程序中将其转发到服务器上.但是,在检索数据时,您必须要么在服务器上取消它,要么按原样将其发送到客户端,要么取消它是反序列化器,要么记住它已经被转义并使用{{{}}}(三把把).