一般的html注入都是在字符串中加入了html标签,用下JAVA代码可以去掉这部分代码。
代码如下,自己封装成方法即可。
String msge = "asdasdasdasd <div id=\"f\">asdfsdf"
System.out.println(msge)
msge = msge.replace("&", "&")
msge = msge.replace("<", "<")
msge = msge.replace(" ", " ")
msge = msge.replace(">", ">")
msge = msge.replace("\"", """)
msge = msge.replace("'", "&qpos")
System.out.println(msge)
将标签的<>这个尖角符号替换掉就可以了.这里有2个函数, 可以进行转义的.你参考一下:function html_encode(str)
{
var s = ""
if (str.length == 0) return ""
s = str.replace(/&/g, ">")
s = s.replace(/</g, "<")
s = s.replace(/>/g, ">")
s = s.replace(/ /g, " ")
s = s.replace(/\'/g, "'")
s = s.replace(/\"/g, """)
s = s.replace(/\n/g, "<br>")
return s
}
function html_decode(str)
{
var s = ""
if (str.length == 0) return ""
s = str.replace(/>/g, "&")
s = s.replace(/</g, "<")
s = s.replace(/>/g, ">")
s = s.replace(/ /g, " ")
s = s.replace(/'/g, "\'")
s = s.replace(/"/g, "\"")
s = s.replace(/<br>/g, "\n")
return s
}
要达到你说的效果就用第一个函数. 第二个函数是反转义的.