即使像Twitter这样的着名网站也遭受了XSS漏洞,我们应该怎样做才能防止这种攻击呢?
您可以做的#1事情是将您的cookie设置为仅HTTP ...这至少可以防止会话cookie劫持.就像有人在您管理自己的网站时窃取您的cookie一样.
其余的归结为验证所有用户输入.
规则#0 - 除允许的位置外,不要插入不受信任的数据
规则#1 - 在将不受信任的数据插入HTML元素内容之前进行HTML转义
规则#2 - 在将不受信任的数据插入HTML公共属性之前的属性转义
规则#3 - 在将不受信任的数据插入HTML JavaScript数据值之前进行JavaScript转义
规则#4 - 在将不受信任的数据插入HTML样式属性值之前进行CSS转义
规则#5 - 在将不受信任的数据插入HTML URL属性之前进行URL转义
非常冗长的主题在这里详细讨论:
http://www.owasp.org/index.php/XSS_(Cross_Site_Scripting)_Prevention_Cheat_Sheet
http://www.owasp.org/index.php/Cross_site_scripting
XSS只是众多漏洞利用中的一个,每个Web开发人员都应该通过心脏imho学习前10名OWASP
http://www.owasp.org/index.php/Top_10_2007