Skip to content

Commit df9780e

Browse files
committed
XSS prevention
1 parent 6e2fb1b commit df9780e

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

src/main/java/org/thymeleaf/dialect/springdata/util/PageUtils.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66
import static org.thymeleaf.dialect.springdata.util.Strings.EQ;
77
import static org.thymeleaf.dialect.springdata.util.Strings.PAGE;
88
import static org.thymeleaf.dialect.springdata.util.Strings.Q_MARK;
9-
import static org.thymeleaf.dialect.springdata.util.Strings.SORT;
109
import static org.thymeleaf.dialect.springdata.util.Strings.SIZE;
10+
import static org.thymeleaf.dialect.springdata.util.Strings.SORT;
1111

1212
import java.util.Arrays;
1313
import java.util.Collection;
@@ -31,6 +31,7 @@
3131
import org.thymeleaf.standard.expression.IStandardExpression;
3232
import org.thymeleaf.standard.expression.IStandardExpressionParser;
3333
import org.thymeleaf.standard.expression.StandardExpressions;
34+
import org.unbescape.html.HtmlEscape;
3435

3536
@SuppressWarnings("unchecked")
3637
public final class PageUtils {
@@ -166,16 +167,17 @@ private static String buildBaseUrl(final ITemplateContext context, Collection<St
166167
Collection<String> paramValues = Arrays.asList(values);
167168
Iterator<String> it = paramValues.iterator();
168169
while ( it.hasNext() ) {
169-
String value = it.next();
170+
String value = it.next();
170171
builder.append(name).append(EQ).append(value);
171172
if( it.hasNext() ){
172173
builder.append(AND);
173174
}
174175
}
175176
}
176177
}
177-
178-
return builder.toString();
178+
179+
//Escape to HTML content
180+
return HtmlEscape.escapeHtml4Xml( builder.toString() );
179181
}
180182

181183
return url==null ? EMPTY : url;

0 commit comments

Comments
 (0)