フォームの繰り返し送信を防ぐ組み込みメソッドはありますか?

WBOY
リリース: 2016-06-13 13:52:26
オリジナル
1048 人が閲覧しました

フォームの繰り返し送信を防ぐための関数がcakephpに組み込まれていますか?
たとえば、ユーザー登録機能を作成する場合、情報確認ページに送信をクリックし、それをデータベースに入力します(情報例: ユーザー名はすでに有効ですか? 情報確認ページに入るときに、対応するチェックが実行されます。
保存が完了したら、ブラウザの戻るボタンをクリックして情報確認ページに戻ります。このとき、認証は行われないため、ユーザーの情報がデータベースに繰り返し入力されます。

Cakephp の組み込みメソッドについて聞きたいのですが、トークン検証などのメソッドは知っています。

長い間 Cake に触れていなかったので、教えていただければ幸いです。それについて詳しく教えてください。

- -----解決策---------
http://www.ibm.com/developerworks/cn/opensource/os-php-cake3/ を見てください。
ここで述べられています
キャッシュについての簡単な説明
操作を保護するために requireAuth を使用していますが明らかな利点がありますが、克服する必要のある欠点もいくつかあります。デメリットのほとんどは「キャッシュの問題」です。
認証キーは、フォームが requireAuth で評価されるたびに生成されます。これは、ユーザーがすでに使用されているキーを使用してフォームを送信した場合、フォームの送信は無効とみなされます。この問題は、複数のブラウザ ウィンドウの使用、[戻る] ボタンを使用して前のページに戻る、ブラウザのキャッシュ、プロキシ サーバーのキャッシュなど (ただしこれらに限定されません) のさまざまな状況で発生する可能性があります。これらの問題をユーザーのエラーとして無視するかもしれませんが、誘惑に抵抗して無効なフォームの送信に取り組む必要があります。

セキュリティを使用している場合、フォームを送信するときに、cakephp はフォームとセッションのトークンを自動的に検証します。その後、データベースにトークンを追加した後でも、セッション内のトークン値の設定を解除できます。ユーザーが確認ページに戻ると、cakephp が送信する前にチェックします。チェックが失敗した場合はロールバックされます。
コア コードを理解していれば、このプロセスを実行できます。わかりました。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート