ヒューマン タスクでのみ作成できる動的に生成された XHR リクエストなど、これを行うための多くの方法があります。
NP 困難な問題に関するすばらしい記事を次に示します。ここで大きな可能性を見ることができます:
http://www.i-programmer.info/news/112-theory/3896-classic-nintendo-games-are-np-hard.html
1 つの方法: いくつかのトリッキーな JS を使用して、クリック時にトークンを処理することができます。したがって、サーバーは、バックエンドのレンダリング段階でページ上の要素に token-id を発行します。これらをデータベースまたはデータ ファイルに記録します。次に、ユーザーがクリックして送信すると、onclick() 関数を介して送信された ID を比較できます。これを回避する方法はたくさんありますが、いくつかのヒューリスティックを適用して、投稿が人間であるには速すぎるかどうかを判断することができます。クリック イベント間の時間は自動化されているように見えます。最近、Twitter アカウントにサインアップしましたか? 彼らは受動的な人間検出を使用しており、100% 誰にでもできるわけではありませんが、速度が遅く、破るのがより困難です。そこにあるスパム アカウントのすべてではないにしても、その多くは人間が開設する必要がありました。
別の方法: http://areyouahuman.com/
安っぽいCAPTCHAなしで人類を検証する暗号化された方法を使用している限り、可能です。つまり、ヘッダーも無視しないでください。これらは補完的な方法です。
鍵となるのは、NP 完全問題を解決するための十分な複雑さを持たせることです。問題の総数は驚異的です。http://en.wikipedia.org/wiki/NP-complete
AI が複数の複雑な人間の問題を単独で解決できるようになる日が来ると、リクエストの改ざん以外にも心配する必要があります。
http://louisville.academia.edu/RomanYampolskiy/Papers/1467394/AI-Complete_AI-Hard_or_AI-Easy_Classification_of_Problems_in_Artificial
興味深い研究を行っている別の会社http://www.vouchsafe.com/play-gamesは、RTT をだまして RTT を訓練し、人間だけで解決できるようにするために設計されたゲームを実際に使用しています。