如何对字符串属性执行清理以防止XSS?现在我的想法是覆盖我的基本模型的保存方法并迭代模型中的所有字符串并将所有字符串输入设置为安全字符串。这是解决这个问题的好方法还是有更好的方法?
编辑:
为应用中的某人保存名称属性(提醒(' xss'))时出现问题。它以非消毒方式将其保存到数据库中。然后,该名称将加载到我们的其他站点中,该站点不会清理输出以及脚本注入发生的位置!我想在将其保存到数据库之前对其进行消毒
答案 0 :(得分:1)
把手自动清理字符串。如果要避免这种情况,则必须明确使用三重括号语法:
{{{myHtmlString}}}
答案 1 :(得分:1)
您确实应该更改其他网站,以确保html转义它从数据库中呈现的数据,而不是尝试清理输入。即使您要对Ember方面的内容进行“消毒”,您能否保证没有其他漏洞允许某人在数据库中注入HTML?
始终逃避任何呈现的内容确实是处理XSS的唯一安全方式。如果您正在过滤输入,则很可能无法捕捉到注入意外输入的所有可能方式。