gpt4 book ai didi

javascript - 这些javascript方法可以被认为是XSS安全的吗?

转载 作者:搜寻专家 更新时间:2023-10-31 08:17:02 25 4
gpt4 key购买 nike

我正在实现一个所谓的“单页应用程序”,它接受 JSON 作为输入。这也意味着所有 HTML 都在浏览器中呈现,所有模板(我正在使用 knockout)似乎都不受用户输入的影响,因为模板不是由后端动态构建的,而是静态嵌入在客户端中的。换句话说,我不会做这样的事:

echo '<input type="text" value="$var">'

所以所有用户内容的呈现本质上都归结为这些 JS 方法:

document.createTextNode(userVar); // for displaying static text
inputElement.value = userVar; // for populating input fields
document.title = userVar; // some user input can be reflected in the doc title
window.history.pushState = ... // no user input is set here directly, but there are URIs where this could be set using an outside link

那么现在的问题是:这些方法是否都是 100% XSS 安全的? 或者仍然有任何方法可以触发 XSS 攻击 - 如果"is",如何做到这一点?

最佳答案

我相信这四个功能是安全的。 document.createTextElement方法 appears to be safe , 并且没有其他方法能够将对象添加到 DOM。

为了发起 XSS 攻击,攻击者必须能够劫持现有脚本以运行任意代码(为什么 eval 是邪恶的)或通过诸如 <script> 之类的向量插入他们自己的脚本标签。由于您使用的方法无法向 DOM 添加元素,它们也无法操纵事件处理程序,因此我认为您是安全的。

不过,我们还需要能够看到您的更多后端代码才能进行该调用,但在前端看起来没问题。

关于javascript - 这些javascript方法可以被认为是XSS安全的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31520218/

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