包含反斜杠字符的Tapestry 5.3.8表单字段已损坏

时间:2016-11-29 19:33:17

标签: java escaping tapestry

Tapestry 5.3.8中表单中的文本字段(用户输入字符串包含反斜杠字符)似乎在表单POST后在服务器端损坏。

说我有一个城市名称形式的字段:

<t:textfield t:id="inputCity" t:label="message:city" value="agency.city" t:validate="required" size="40" maxlength="50" />

如果我在该字段中输入

test\fred

并检查onSuccess()方法顶部调试器中的agency.city值。值将是

test?red 

在哪里?是换页符。我添加的数量没有任何差别。它们都被移除,除了最后一个,它被解释为不按字面意思。

在浏览器调试器中查看数据是否完整地发送到服务器端。所以,如果我输入

test\\fred 

POST包含:

inputCity=test%5C%5Cfred

如何制作挂毯而不是弄乱文本字段中的字符数据?

1 个答案:

答案 0 :(得分:1)

事实证明我们使用ESAPI来处理一些跨站点脚本问题。 ESAPI的编码器默认使用JavascriptCodec,JavascriptCodec删除所有反斜杠。以下是报告的问题。

https://code.google.com/p/owasp-esapi-java/issues/detail?id=252

所以,Tapestry不是问题。 :)