0

したがって、フォームの隠し要素でエンコードし、送信後にデコードする必要がある文字列があります。

<input type="hidden" class="secret_number" value="#encrypt(0, 'foo')#">

したがって、html では、これは非常にひどいものに見えます。

$&(A$4!v

URLでエラーが発生するため、URLEncodedFormatに入れました。したがって、最終バージョンは %25%28%25%5F%23WLT%20%0A のようになります。これで問題ありません。これをデコードして解読すると、あるべき姿に戻ります。

しかし、提出後は次のようになります。

%&#x28;%_#WLT

セミコロンによるデコード時のエラー。

注目すべき点は、送信時に、これが ajax 呼び出しを介して実行されていることです。何か案は?

4

1 に答える 1

1

これを試して、より URL フレンドリーなエンコーディングを取得してください

<input type="hidden" class="secret_number" value="#encrypt(string=0, key='foo', encoding='HEX')#">

また、この状況でセキュリティを気にする場合は、デフォルトの CFMX_COMPAT アルゴリズムを使用しないでください。

<input type="hidden" class="secret_number" value="#encrypt(0, 'foo','AES/CBC/PKCS5Padding','HEX')#">

また、キーをコードにハードコーディングしないでください。

実際のセキュリティに対して適切なエンコードを取得するためだけにこれを行っていると思います。

于 2012-10-17T20:16:31.283 に答える