2

CakePHPのドキュメントには、CSRF攻撃を回避するために、コントローラーにセキュリティコンポーネントを含める必要があり、さらに、FormHelperを使用してフォームを作成する必要があると記載されています。

私の場合、JavaScript(jQuery)を使用していくつかのフォームフィールド(テキストエリアなど)を作成する必要があるため、FormHelperを使用できません。

$('#body').html('<textarea name="data[post][body]" type="textarea" cols="30" rows="3">'+text+'</textarea>');

そしてもちろん、それはセキュリティを通過せず、フォームは送信されません。

とにかく、JavaScriptでいくつかのフィールドを作成する安全なフォームを作成できますか?

ありがとう。

4

1 に答える 1

3

さて、あなたが持っている1つのオプションは、セキュリティチェックで無視されるようにこれらのフィールドのロックを解除することです。あなたの見解では、次のように書いてください。

<?php $this->Form->unlockField('fieldname'); ?>

もう1つのオプションは、フォームの非表示領域にフォームヘルパーを使用して動的に追加するフォームフィールドを作成し、必要な場合にのみ表示することです。

于 2012-10-03T11:43:41.467 に答える