elm中的XSS攻击块有多严重?
How serious are the XSS attack blocks in elm?
我知道 elm 编译器会阻止您将 <script>
标签放入 HTML 文档中。相反,它会将它们切换为 <p>
s:
node
"script"
[ id "MathJax-script"
, type_ "text/javascript"
, src "https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-chtml.js"
]
[]
我设法解决了这个问题。编译后的 elm 代码(在我的例子中存储在 js 文件中)包含一些特殊代码:
// XSS ATTACK VECTOR CHECKS
function _VirtualDom_noScript(tag)
{
return tag == 'script' ? 'p' : tag;
}
'script'
字符串可以替换为 'scrip'
,您可以使用 <script>
标签。
经过一番研究,我发现这可以阻止 XSS 攻击。这种担忧有多严重?我应该使用这个技巧来插入 <script>
标签吗?
您应该问自己的一件事是为什么您要这样做?如果您需要插入脚本,无论如何从 Elm 外部执行此操作通常是更可靠的选择(例如,这允许浏览器在您的 Elm 应用程序有机会 load/initialise 之前开始加载该资源)。
话虽如此,您应该为此担心的主要原因是您无法控制的代码。好消息是 Elm 使针对您的代码执行供应链攻击变得相当困难。如果你削弱这些保护,你可能会使自己容易受到这些保护。但是,不太可能有人会不分青红皂白地尝试这种攻击,因为它通常不会对任何试图这样做的人起作用。
(如果您担心成为特定目标,那么您可能不应该考虑削弱任何安全功能)。
我知道 elm 编译器会阻止您将 <script>
标签放入 HTML 文档中。相反,它会将它们切换为 <p>
s:
node
"script"
[ id "MathJax-script"
, type_ "text/javascript"
, src "https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-chtml.js"
]
[]
我设法解决了这个问题。编译后的 elm 代码(在我的例子中存储在 js 文件中)包含一些特殊代码:
// XSS ATTACK VECTOR CHECKS
function _VirtualDom_noScript(tag)
{
return tag == 'script' ? 'p' : tag;
}
'script'
字符串可以替换为 'scrip'
,您可以使用 <script>
标签。
经过一番研究,我发现这可以阻止 XSS 攻击。这种担忧有多严重?我应该使用这个技巧来插入 <script>
标签吗?
您应该问自己的一件事是为什么您要这样做?如果您需要插入脚本,无论如何从 Elm 外部执行此操作通常是更可靠的选择(例如,这允许浏览器在您的 Elm 应用程序有机会 load/initialise 之前开始加载该资源)。
话虽如此,您应该为此担心的主要原因是您无法控制的代码。好消息是 Elm 使针对您的代码执行供应链攻击变得相当困难。如果你削弱这些保护,你可能会使自己容易受到这些保护。但是,不太可能有人会不分青红皂白地尝试这种攻击,因为它通常不会对任何试图这样做的人起作用。
(如果您担心成为特定目标,那么您可能不应该考虑削弱任何安全功能)。