XSS在将数据导入java之前转义字符。 JSTL

时间:2014-07-06 15:58:58

标签: java jsp jstl

我知道如何在显示数据时逃避XSS,但是如何在获取数据之前将其转义? 有没有办法,在将代码传递给java之前,我可以逃避用户输入的数据?或者它是不可能的,我必须在java代码中做到这一点?

代码:

<body>
    <input type="text" name="name" value=<c:out value="Name"/>>
    <input type="text" name="surname" value=<c:out value="Surname"/>>
    <input type="submit" name="continue" value="Continue">
</body>

不起作用,我认为这是有道理的,因为它逃脱了“名称”而不是用户放入其中的内容。那么,我以前可以逃避它吗?或者我以后必须在java代码中执行它?

1 个答案:

答案 0 :(得分:2)

您不想逃避用户输入的内容。那是真实的数据。

在HTML文档中显示此数据时,需要对其进行HTML转义。但是,如果您更改应用程序的工作方式并决定将数据序列化为JSON,那么它不需要进行HTML转义,但需要进行JSON转义。在控制台中显示数据时,根本不需要进行转义。

因此,您不希望在数据库中使用HTML转义字符串。你想要真实的数据。转义取决于数据的显示或序列化方式。