PHPで作業しているときにフォームの重複を避けるために、ある種類の一意のIDを生成し、それをセッション変数に格納し、私は値を比較し、その時点でセッション値を再生成することができます。私はそれを素晴らしい解決策とは考えませんでしたが、私は決してより良い解決策を考えたり見つけることができませんでした。ステートレスシステムで重複したフォームの提出を防ぐ
私はPHPバックエンド(ルーメン)でAngularフロントエンドをやっています。私はデータベースに書き込むことを必要としないソリューションを考えるのに苦労しています。私が何かを誤解していない限り、AngularとPHPの間でセッションを使用することはできません。したがって、この解決法は機能しません。私が考えることができる唯一の他の事は、DBにキー/ペア値を持たせることですが、セッション/データベースが2番目のキーの前にキーを更新しないかもしれない偶発的なダブルクリック提出が処理を開始します。私はステートレスシステムについてもっと学んでいるので、セッションはこの種のものを置くのに最適な場所ではないと感じていますか?
全体的に、重複したフォームを避けるための安全なバックエンドシステムの作成には問題があります。角度を使用すると、ボタンのクリック、発砲からのAPI呼び出しなどを避けて、重複した投稿をいつでも防ぐことができますが、バックエンドの保護機能も追加したいと思います。
は、なぜあなたは、バックエンドのPが必要になります重複したフォームの提出を防ぐための腐敗?安全上重要なことが起こっていますか?私にとって、単純なクライアント側チェックを超えて本当に気にするべきもののようには見えません。 – eis
IMHOクライアントサイドの問題だと思うのですが、ボタンをクリックした後にボタンを無効にしないのはなぜですか? –
これらの質問と答えは私の質問に答えています:私の考え方は常にフロントエンドを信頼していません。しかし、この場合、フロントエンド/バックエンドはお互いが何をしているのか気にしてはいけません。ありがとう。 – RhoVisions