2

時々、PloneFormGen フォームの送信 (さまざまなフォームで発生するため、フォーム固有のものは何もありません) で、「フォーム認証子が無効です」という例外が発生します。

これはクロスサイト リクエスト フォージェリ (CSRF) 保護がオフになることは知っていますが、それは正確には何ですか?

何がそれを引き起こし、どのようにそれを防ぐことができますか(なぜなら、私が知る限り、すべてのトリガー送信が有効であったため、偽造は行われません:-)

ありがとう!

4

1 に答える 1

8

他のソースからの投稿から保護するために、オフにしていない PFG フォームを含む多くの Plone フォームには、隠し入力として暗号トークンが含まれています。そのトークンは送信に存在する必要があり、送信は HTTP POST によって行われる必要があります。

CSRF 保護が有効になっている場合、元のフォーム以外のソースから送信するとエラーが発生します。あるユーザーがフォームをロードし、同じブラウザーで別のユーザーとしてログインした場合にも、エラーが発生する可能性があります。または、投稿がプロキシまたはブラウザ プラグインによって GET に変換された場合。

PFG での CSRF チェックをフォームごとにオフにすることができます。貴重なリソースが保護されていない限り、CSRF チェックはあまり役に立ちません。

于 2011-03-25T15:33:39.520 に答える