2009-06-01 98 views
-1

我试图从用户名输入中过滤掉XSS的所有可能性,同时仍允许输入外部名称。如何从Java用户输入中过滤掉所有非单词字符

用多种语言(也包括中文,日文和俄文)列出所有单词字符的最佳方法是什么?

这可能吗?用“<>&gt;&lt;”创建XSS黑名单很容易,但黑客可以解决这个问题。

回答

3

我想你可能是从错误的方向接近问题。

通常情况下,防止XSS恶意攻击是确保您在网站上显示的任何用户生成的内容得到正确转义的情况。

通过这种方式,您可以确保显示的内容与用户输入的内容完全相同,而不会让您的白名单无意中让一些不好的情况发生。

+0

从我一直在阅读的文章中,我得到的印象是,你应该有一个非常严格的白名单,因为黑客会找到你的黑名单(例如http://ha.ckers.org/xss.html)但是,在这种情况下,我想要一个不会将输入限制为仅美国(或西欧)ASCII的白名单,但同时也是“完全”XSS漏洞。 – tksu 2009-06-01 12:15:35

相关问题