关于javascript:createTextNode完全不受HTML注入的影响

Is createTextNode completely safe from HTML injection & XSS?

我正在使用单页Web应用程序。我正在通过直接创建DOM节点进行渲染。特别是,通过使用document.createTextNode("user data")创建文本节点,将所有用户提供的数据添加到页面。

这种方法是否避免了HTML注入,跨站点脚本(XSS)和用户可能做的所有其他邪恶事情的可能性?


它会创建一个纯文本节点,所以可以,就它而言。

通过使用不安全的方法来获取XSS问题是可能的,尽管该方法是从输入到createTextNode的任何通道获取数据的。

例如以下内容将是不安全的:

1
document.createTextNode('<?php echo $_GET['xss']; ?>');

a€|但是危险来自PHP echo,而不是JavaScript createTextNode