このログイン ページを見てください。具体的には、Returning Member というラベルの付いたセクションのフォームです。HTML を見るか、Firebug などのツールで掘り下げることで確認できるように、実際のフォームには 4 つのタグが含まれています。メール アドレスとパスワード用に 1 つずつ、値「yes」を含む「memberAlready」と呼ばれる非表示の入力、画像形式の送信ボタン。これまでのところ、完全に一般的です。
ただし、フォームが送信された時点でフォーム データを調べると ( Tamper Dataまたは別のブラウザーで同等の機能を使用して)、次の 2 つの追加のフォーム フィールドが応答に忍び込んでいることがわかります: ACTION(loginCheckout).x ACTION(loginCheckout).y.
どちらも 2 桁の整数値を持っています。これは、送信者が実際の Web ブラウザーであり、ロボットではないことを確認するためだけに存在することを示唆しています。おそらく、それらは次のように定義されている送信ボタンに何らかの形で関連しています。
<input type="image" name="ACTION(loginCheckout)" value="Login" src="/images/login/login.gif">
私が混乱しているのは、ブラウザーで JavaScript が無効になっている場合でも、これらの追加のフォーム フィールドが表示されることです。したがって、それらはおそらく、イベント ハンドラーによってどこかに挿入されたものではありません。
さらに、フォームをプログラムで送信すると (たとえば、JavaScript コンソールで document.forms[1].submit() を実行することにより)、余分なフィールドが生成されず、ログイン試行が失敗します。これは、フィールドの挿入が、基本的な HTML フォーム送信メカニズム以外の何かに依存していることを示唆しています。しかし、それが JavaScript でなければ、その「もの」が何であるかはわかりません。
誰かがこのパターンを認識していますか、または検証フィールドがどのように挿入されるかについて理論を持っていますか?