XSS漏洞即跨站脚本(cross-site script)
它的原理是当用户发布信息时,会利用js等脚本样的语句提交给服务端,主要是用到表单的get方法,把自己的js语句经url相关编码转换后提交给服务器并把此完整的url发给其它人,其它人在打开此url连接时就会弹出相关信息或重定位于其它服务器上,恶意的连接会让提示用户输入相关的帐户和密码并把用户的相关信息盗走。
现在高级的浏览器上都已增加了XSS功能控制,把js或html的特殊符号,如<,\等转变为<等普通字符 ,这样在浏览器显示时就不会进行解析成其它的东西。
在asp.net的页面中可以增加ValidateRequest=True进行XSS控制。
但在处理程序员方面的网站时是不能限制html的字符的,因此ValidateRequest又无法控制,我们可以用HttpUtility类进行操作,如 HttpUtility.HtmlEncode(str)进行html字符的转换,用 HttpUtility.HtmlDecode(str)把已转换的字符再解析回客户原先输入的字符即可。