相关疑难解决方法(0)

什么是c:out用于jsp

我见过类似的东西

<c:out   something

</c:out>
Run Code Online (Sandbox Code Playgroud)

这是用来做什么的

java jsp

3
推荐指数
1
解决办法
3072
查看次数

是否有可能通过内部的JSP代码通过html注释进行XSS攻击?

以下代码是否在某些JSP页面中添加了XSS漏洞?

<!--    <%=paramName%>=<%=request.getParameter(paramName)%><BR>  -->
Run Code Online (Sandbox Code Playgroud)

它看起来像一个"剩余的调试",绝对应该从代码中删除,但它有多危险?

html security xss jsp

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

再次保护jsp页面xss

我想保护我的网站形式xss,我想确保我的所有数据都是正确和一致的,所以我不想允许向我的数据库添加任何脚本,这是因为我的数据可能被其他Web服务使用,所以我想确保我的数据是正确的,不会给别人带来任何问题.

我想只在输入数据时进行验证,而不是在输出中进行验证,因此我只进行一次验证,并且我将确保我的数据库中不存在任何脚本.

编辑:请检查我添加的最后一条评论.

java security xss jsp

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

用于覆盖参数的AspectJ声明语法是什么

之前已经使用注释语法对此进行了回答:Aspectj覆盖方法的参数

但我无法弄清楚如何使用AspectJ声明语法来实现它.以下应该在方法中的每个字符串前添加"Poop",但事实并非如此.

public aspect UserInputSanitizerAdvisor {

    pointcut unSafeString() : execution(@RequestMapping * * (..));

    Object around() : unSafeString() {
        //thisJoinPoint.getArgs();
        //proceed();
        System.out.println("I'm Around");
        Object[] args = thisJoinPoint.getArgs();
        if (args != null) {
            for (int i = 0; i < args.length; i++) {
                Object o = args[i];
                if (o != null && o instanceof String) {
                    String s = (String) o;
                    args[i] = "poop: " + s;
                }
            }
        }

        return proceed();
    }

}
Run Code Online (Sandbox Code Playgroud)

我无法弄清楚如何给出"proceed()"所有的论点.

java aspectj

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

在JSP页面中呈现未转义的HTML

我在包含HTML文本的数据库上有一个字段,我需要将其打印到JSP页面中.我该如何呈现HTML?使用<c:out value="${text}" />我可以看到带有HTML标签的文本.换句话说,它正在逃避HTML.

html jsp

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

如何使用JSTL对HTML标签进行转义

我必须在带有JSTL的页面中显示一些已经转义的HTML标记的内容。

我知道的excapeXml是用于转义可以解释为标记的字符。但似乎这只是工作了平原和转义HTML: <p>This is the news</p>,它不能正确的工作已经逃脱HTML: &lt;p&gt;This is the news&lt;/p&gt;

那么,如何使用JSTL来对已经转义的HTML进行转义?

jsp jstl escaping

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

通过<jsp:useBean>访问的会话范围的CDI bean似乎与servlet不同

我想将CDI SessionScoped bean注入JSP页面.

import javax.enterprise.context.SessionScoped;
import java.io.Serializable;

@SessionScoped
public class UserSessionBean implements Serializable {

    private String email = "email";

    public UserSessionBean(){}

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }
}
Run Code Online (Sandbox Code Playgroud)

当我以这种方式使用bean时,它工作正常,我在JSP页面上看到了初始值.

<jsp:useBean id="userSessionBean" class="package.UserSessionBean"/>
<jsp:getProperty name="userSessionBean" property="email"/>
Run Code Online (Sandbox Code Playgroud)

当我将相同的bean注入到我从API中的另一个servlet调用的服务中时,会出现问题.在这种情况下,我没有在JSP页面获得更新值.看起来我在JSP页面和使用@Inject注释的服务内部获得了不同的bean

任何人都可以建议如何在JSP和从servlet访问的服务层中使用相同的SessionScoped bean?

jsp servlets usebean cdi

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

在jsp中,请求参数(带有空格的字符串值)仅显示在文本框的第一个空格中

<input type="text" name="designation" value=<%=request.getParameter("designation")%> ></input>
Run Code Online (Sandbox Code Playgroud)

在这个JSP中,我使用window.location.replace()函数通过javascript从另一个JSP页面发送请求参数.

我想在文本框中的这个jsp页面中显示该请求参数.

但它只显示了第一个白色空间的字符串的一部分.剩余的字符串被修剪.

可能是这个问题的原因是什么?

例如,如果指定="软件工程师",那么它只在文本框中显示"软件",而不是""(空格)和"工程师"

jsp

0
推荐指数
1
解决办法
7939
查看次数

标签 统计

jsp ×7

java ×3

html ×2

security ×2

xss ×2

aspectj ×1

cdi ×1

escaping ×1

jstl ×1

servlets ×1

usebean ×1