相关疑难解决方法(0)

JSP/Servlet Web应用程序中的XSS预防

如何在JSP/Servlet Web应用程序中防止XSS攻击?

java security xss jsp servlets

67
推荐指数
4
解决办法
11万
查看次数

如何在JSP上使用撇号或引号(由JavaScript使用)

我有一个用户表单.如果用户输入字符串'"作为其一部分,我没有问题.表单已提交并正确保存到数据库中.我的问题是当我重新加载页面时(所有条目都可以修改并在显示之前加载到JSP中的列表中).在加载页面时,我收到一条错误消息:

missing ) after argument list 'Caroline's message', \n
Run Code Online (Sandbox Code Playgroud)

我需要做什么来逃避这个字符串以便在前端显示它?

这是我在前端使用的代码,用于读取数据并将其存储在JavaScript对象中.我不完全确定我需要逃离的地方.导致问题的字段是c.getComName:

communications[<%=i%>][1] = new CommObject('<%=c.getComId()%>', '<%=c.getComName()%>');
Run Code Online (Sandbox Code Playgroud)

使用HTML生成更新:

communications[0][1] = new CommObject('101', 'Caroline's Message');
Run Code Online (Sandbox Code Playgroud)

javascript java forms jsp escaping

34
推荐指数
2
解决办法
7万
查看次数

如何在JSTL函数中转义双引号?

我需要改变",以\"JSTL替换功能使用的字符串输入标签,如:

<input type="hidden" name="text" size="40" value="${text}">
Run Code Online (Sandbox Code Playgroud)

如果${text}",则HTML将被破坏.

所以我试过了

<input type="hidden" name="text" size="40" value="${fn:replace(text, "\"", "\\\""}">
Run Code Online (Sandbox Code Playgroud)

<input type="hidden" name="text" size="40" value="${fn:replace(text, '"', '\"'}">
Run Code Online (Sandbox Code Playgroud)

但没有奏效.该页面会出错

org.apache.el.parser.ParseException:遇到""}""}""在第1行第32列.期待其中一个:"." ...")"......"["...","...">"..."gt"..."<"..."lt"..."> =". .."ge"......"<="......"le"......"=="......"eq"......"!="......"ne"......"&&" ......"和"......"||" ..."或"......"*"......"+"......" - "..."/"..."div"..."%"..."mod".. .

我怎样才能做到这一点?

更新

我错过了替换功能的密切关注.正确的是这个与亲密的人:

<input type="hidden" name="text" size="40" value="${fn:replace(text, '"', '\"')}">
Run Code Online (Sandbox Code Playgroud)

UPDATE2

我发现在发布文本时,使用\不是一个好主意,因为这个原因为什么不能在HTML输入标签中使用?.代码应该是这样的:

<input type="hidden" name="text" size="40" value="${fn:replace(text, '"', '&quot;')}">
Run Code Online (Sandbox Code Playgroud)

java jstl el

18
推荐指数
2
解决办法
4万
查看次数

在JavaScript中访问Java/Servlet/JSP/JSTL/EL变量

我在JSP中有一个表单.我必须根据请求对象(来自servlet)填充它.如何使用Java Script访问请求对象属性,或者您是否可以建议我以其他方式动态填充表单?

javascript jsp servlets el parameter-passing

14
推荐指数
2
解决办法
4万
查看次数

将bean值拉为String以供Javascript使用

我正在尝试根据bean的值设置组件的文本.我正在使用jquery,因为文本根据特定条件而变化.

所以,jquery代码看起来像这样:

window.onload =function(){
    $('.pnx-inline-input').on("change keyup paste", function(){
        var saveText = #{extra.Active_Save};                
        $('.save-button .pnx-btn-text').html(saveText);
});
Run Code Online (Sandbox Code Playgroud)

Extra bean处理本地化.所以,假设语言环境是法国,文本是Enregister.问题在于,在呈现页面时,代码段看起来像这样

window.onload =function(){
    $('.pnx-inline-input').on("change keyup paste", function(){
        var saveText = Enregister;              
        $('.save-button .pnx-btn-text').html(saveText);
});
Run Code Online (Sandbox Code Playgroud)

当然,Enregister没有在任何地方定义,这会导致错误.我需要代码看起来像

var saveText = "Enregister";
Run Code Online (Sandbox Code Playgroud)

为此有意义.

我怎样才能做到这一点?谢谢!

javascript jquery jsf

2
推荐指数
1
解决办法
668
查看次数

标签 统计

java ×3

javascript ×3

jsp ×3

el ×2

servlets ×2

escaping ×1

forms ×1

jquery ×1

jsf ×1

jstl ×1

parameter-passing ×1

security ×1

xss ×1