gpt4 book ai didi

html - 清理 <script> 元素内容

转载 作者:可可西里 更新时间:2023-11-01 13:29:08 24 4
gpt4 key购买 nike

假设我想通过动态 <script> 向我的客户提供一些数据(在第一个响应中,没有延迟)元素。

<script><%= payload %></script>

payload是字符串 var data = '</script><script>alert("Muahahaha!")';</script> .结束标记 ( </script> ) 将允许用户将任意脚本注入(inject)我的页面。如何正确清理脚本元素的内容?

我想我可以改变 </script><\/script><!--<\!-- .我需要逃避任何其他危险的字符串吗?有没有更好的方法来提供这种“冷启动”数据?

最佳答案

针对数据的非突变进行了编辑。

如果我的解释正确的话。你想阻止用户结束 script在用户提交的字符串中过早标记。这可以为 html 完成,就像您在结束标记中添加反斜杠 <\/script> 所说的那样.在这种情况下,这是您唯一需要担心的转义。您不需要转义 html 注释,因为浏览器会将其解释为 javascript 的一部分。也许如果一些旧的浏览器不解释脚本标签默认为 text/javascript 的类型正确地( language="javascript" 已弃用)添加 type='text/javascript'可能是必要的。


基于 Mike Samuel 的回答 here关于不需要转义 html 注释,我可能错了。但是我无法用 chrome 或 chrome 重现它。

关于html - 清理 &lt;script&gt; 元素内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32803709/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com