jsp中如何解决xss攻击问题

我是一名大学生,最近几天在写一个论坛,今天测试的时候就到碰了xss漏洞问题,
例如:从数据库里读取一段这样的代码<script language="javascript">alert("hello");</script>.
现在我想让这段代码以文本的样式显示,但是就是不行。
在网页中加这段代码还是不行request.setCharaterEncoding("gbk");

那就写个过滤器,把有小于号大于号等等,与标签或者SQL有关的全部替换,然后再存进数据库。具体换成什么,自己决定吧。追问

除了写过滤器还有没有别的方法 急、、、

追答

首先你要清楚,你是管不住用户写什么东西的。所以你必须处理,那么处理的话,无非几种方式。
第一,在客户端用JS验证。
第二,过滤器。
第三,在服务器端验证。
你觉得哪个好,就用哪个方法。

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-10-07
<%
String jc = "<script language='javascript'>alert('hello');</script>";
jc = jc.replace("<","〈").replace(">","〉");
%>
<%=jc %>
第2个回答  2020-08-11
传统防御技术传统XSS防御多采用特征匹配方式,在所有提交的信息中都进行匹配检查。对于这种类型的XSS攻击,采用的模式匹配方法一般会需要对“javascript”这个关键字进行检索,一旦发现提交信息中包含“javascript”,就认定为XSS攻击
第3个回答  2011-10-20
可以自己写一个过滤函数将类似<>这种符号转义为< >
相似回答