jsp防止xss转义方法

输入的参数,必须经过转码才能输出到页面上,如果不经转换而原样直接输出到页面上,则会产生XSS漏洞。


比如:在输入框,输入姓名“张三confirm(123)”
如果直接在页面上输出的话,就会弹窗显示123,其实就是执行了用户设定的js操作了,这就产生了xss漏洞。

xss漏洞很好预防,只要转码就行了。


预防方式,只要输出时做处理:
(1)jtsl:
(2)EL: ${fn:escapeXml(param)}
(3)工具类: 
org.apache.commons.lang.StringEscapeUtils.escapeXml(String)。


实质就是转换几个特殊字符就行了:
> , < , & , ", '


另外,重点注意区别(包含了单引号):
xml转义字符:
< < 小于号
> > 大于号
& & 和
' ' 单引号
" " 双引号



html转义字符:
< 小于 <
> 大于 >
& &符号 &
" 双引号 "
© 版权 ©
® 已注册商标 ®
™ 商标(美国) ™
× 乘号 ×
÷ 除号 ÷

你可能感兴趣的:(java)