1

私はフォームにcakephpとセキュリティコンポーネントを使用していますが、うまく機能しています。

しかし、質問があります。誰かが送信ボタンをダブルクリックするたびに (たとえば、誰かが私のデータベースにデータを送信するフォームを使用する場合)、彼らはブラックホール化されます。おそらくcakephpは、フォームからデータベースに2回データを送信していると考えているためです...

誰かがこれを修正する方法を知っていますか? おそらく、このオプションを無効にすることは可能です。

4

1 に答える 1

2

おそらくcakephpは、フォームからデータベースに2回データを送信していると考えているためです...

送信ボタンを 2 回クリックすると、フォームが 2 回送信されますが、実際には Cake のせいではありません。

クリック後にボタンを無効にするには、JavaScriptを使用できます。これにより、二重提出を防ぐことができます。SecurityComponent::$csrfUseOnceを false に設定して、期限切れになるまで CSRF トークンを再利用できるようにすることもできます。

于 2015-05-28T20:06:45.330 に答える