2016-11-29 5 views
0

ユーザーがフォームPOSTの後にサーバー側で破損しているように見える、Tapestry 5.3.8のフォームのテキストフィールドはバックスラッシュ文字を含んでいます。私はその場Tapestry 5.3.8バックスラッシュ文字を含むフォームフィールドが壊れています

test\fred 

でこれを入力するとのデバッガでagency.city値を調べる場合

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

は、私は都市名の形式でフィールドを持っていると言いますonSuccess()メソッドの先頭です。値は

test?red 

です。フォームフィード文字です。どれくらい増やしても何の違いはありません。最後の文字を除いてすべて削除され、文字通り解釈されません。

ブラウザデバッガでは、データがサーバー側にそのままPOSTされているようです。だから私は

test\\fred 

入力した場合、POSTは含まれています

inputCity=test%5C%5Cfred 

がどのようにテキストフィールド内の文字データとタペストリーませ混乱を作りますか?

答えて

1

いくつかのクロスサイトスクリプティングの問題を処理するために、ESAPIを使用しています。 ESAPIのエンコーダはデフォルトでJavascriptCodecを使用し、JavascriptCodecはすべてのバックスラッシュを削除します。ここに報告された問題があります。

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

ですから、タペストリーで問題ありません。 :)

関連する問題