外部APIに投稿されるフォームがあります。入力フィールドとして渡されるcustomer_tokenというパラメーターがあります。APIによる認証に使用され、すべての顧客に1つのトークンが割り当てられます。入力フィールドはFirefoxのFirebugに表示されます(非表示のフィールドですが)。
どうすれば非表示にできますか?
私が最初に思ったようにjavascriptを使用するオプション
フォームを送信する前に実行時にjavascriptを使用してその入力フィールドを作成し、すぐにフィールドを削除しても機能すると思いますが、それでもフィールドは一時的に表示されます。そのため、人が手動で取得できない場合でも、クローラーまたはスパイダー(正確な用語はわかりませんが、自動化されたスクリプト)がカスタマートークンを取得する可能性があります。これに対するより良い解決策はありますか?フォームの送信後、同じフォームが表示されたままになります。
Ikkeによって提案されたワンタイムトークンの概念を使用する
それがどのように機能するかわかりませんか?APIは、リクエストを処理するために正しいカスタマートークン値を必要とします。したがって、ワンタイムトークンを生成して返す場合でも、顧客トークンを含むリクエストを送信する必要があります。このようにして、誰でも私の顧客トークンの値を見ることができ、ワンタイムトークンを取得してそれを使用するためのリクエストを送信することもできます。では、どのように問題を解決するのでしょうか?
解決済み チェックフォームを直接投稿するのではなく、サーバーに投稿してからAPIに投稿する方法(セキュリティ上の理由から)? ありがとう、Sandeepan