我不知道这是否真的很危险,但是,正如 Google 使用从 Google Apps 脚本提供的 HTML 和 Javascript 一样(如此处所述,他们使用Caja Compiler来“清理和沙箱 HTML”)。
我想知道如果我让用户使用 Jinja2 模板编辑 HTML,让他们访问一些稍后会呈现的服务器端变量,是否会发生任何不好的事情。会发生什么坏事?
Obs:我不在乎用户的 HTML 是否丑陋,或者它是否会破坏页面的其余部分。
我不知道这是否真的很危险,但是,正如 Google 使用从 Google Apps 脚本提供的 HTML 和 Javascript 一样(如此处所述,他们使用Caja Compiler来“清理和沙箱 HTML”)。
我想知道如果我让用户使用 Jinja2 模板编辑 HTML,让他们访问一些稍后会呈现的服务器端变量,是否会发生任何不好的事情。会发生什么坏事?
Obs:我不在乎用户的 HTML 是否丑陋,或者它是否会破坏页面的其余部分。
允许最终用户编辑 HTML 或 JavaScript 可能会导致您的网站容易受到 XSS - https://www.owasp.org/index.php/Cross-site_Scripting_(XSS)的攻击。
如果用户查看其他用户创建的内容,他们的脚本可能会通过将值发送到攻击者的服务器来破坏 cookie 值或用户会话。
HTML 可能会发生不好的事情。大多数模板引擎都可能发生更糟糕的事情,包括 Jinja2。就像任意代码执行一样。这就是为什么有一个沙盒。