JavaScript非持久性安全问题

时间:2010-11-04 19:04:33

标签: javascript security

尽管我有偏执狂,但我从来没有真正理解网络安全,所以我缺乏知识让我对此感到困惑。

示例:假设您有两个文本框,两个文本框都是用户输入的。

用户在这两个文本框中输入他们想要的内容并单击一个按钮,该按钮然后使用一些JavaScript并连接这两个文本框中的任何内容并将其显示在div中。

我的问题是,在这种情况下,由于它使用的是JavaScript客户端,您是否需要真正清理用户输入?

如果输出到文本框而不是div,该怎么办?还是作为警报?

据我所知,当涉及到表单/ PHP时,你总是希望清理输入,但我并不熟悉JavaScript安全预防措施。

我的理解是,由于这是客户端,并且服务器没有保存任何数据,因此无论用户做什么(尝试引入某些恶意代码或其他内容)都不会影响除该用户之外的任何人, ?

2 个答案:

答案 0 :(得分:3)

这不是安全问题。原因是因为攻击者必须强迫受害者的浏览器进行此操作以使其成为XSS。

但是,如果您从document.location之类的内容中获取输入,然后使用document.write()将其打印到页面,那么这是DOM based XSS。但这是一种非常罕见的XSS形式。

答案 1 :(得分:2)

您无需清理任何未进入服务器的内容。

如果人们想对他们的页面实例做些什么,那么他们唯一可以伤害的就是他们自己。看看你可以使用像GreaseMonkey这样的扩展程序做的所有事情......我们所说的不仅仅是连接字符串并显示它们。