浏览 2072 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2011-11-01
今天跟同事解决这样一个问题: jsp页面中处理request.getAttribute("value")的注入!
jsp页面如下:
<html> <head> <title>xxx</title> </head> <body> <div class="blue"> <p> <%=request.getAttribute("value")%> </p> </div> </body> </html>
有用户恶意的将value值设置为:<img src="#" onerror="alert hello" />
用户在提交表单之后,会突然弹出js框,造成错误!
这时需要解决的问题就是将用户显示的值原值显示出来!
这是可以采取的方式有如下: 1. struts2中的property来设置
<s:property value="test" escape="false"/> escape:false为不显示 true显示 由于是使用的struts1,所以这里不能使用 2. html <code>标签 这里经过测试,无法展现 http://www.w3school.com.cn/tags/tag_code.asp 3. el表达式 最后使用的是c:out来做处理实现
导入el表达式库
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/functions"%> <html> <head> <title>xxx</title> </head> <body> <div class="blue"> <p> <c:out value=" <%=request.getAttribute("value")%>" /> </p> </div> </body> </html>至此,这里就解决了原值的显示 哎,老项目中的bug实在是太多啊......
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2011-11-01
感觉语句显得有点长.
直接用EL表达式也可以的吧.${value} |
|
返回顶楼 | |
发表时间:2011-11-01
cataclyzh 写道 感觉语句显得有点长.
直接用EL表达式也可以的吧.${value} 对,改成EL了,这是在家写的,记得不是很清楚的...... |
|
返回顶楼 | |