recaptcha__en.js 偽のUser-Agentを検出する方法を理解しようとしています。テストのために、アドオンのUser-Agentスイッチャーをインストールして demo here を試すことができます。ユーザーでは、UAが何であってもスコア0.9
を取得しますが、ここではScore
ログインせずに取得します。
0.3 - 0.7
0.3 - 0.7
0.1
更新されたブラウザーでも表示されるように、UAを変更するとスコア0.1
またはbot/spam
としてマークされるため、JavaScript変数navigator
または、reaptchaは偽のUAをどのように検出できますか?
特定のブラウザには特定の機能があります。サービスは提供するJavaScriptを実行するため、実際のブラウザーで多くの機能テストを実行できます。これは、userAgent文字列を検証するために使用できます。
たとえば(純粋に架空の場合)、ChromeがCSS変数をサポートし、v40以降のすべてのChromeが古いVibration APIをサポートしていないことを知っているが、お使いのブラウザがv55であると主張し、両方の機能をサポートしているようであると、バストアップされます。 https://caniuse.com/ にすばやくアクセスすると、そのようなバージョンを検出するために使用できる多数の「喫煙銃」が提供されます/機能の相関。
-ms-browse CSSやMicrosoftブラウザーなど、1つまたは別のブラウザーのみがサポートする多くのWeb APIもあります。これは、基本的には「ブラウザを検出せず、上位互換性のために機能を検出する」というWeb開発者のアドバイスの逆です。両方を行うことで、なりすまし(JSとDOMの内部を変更する)が得意で、ブラウザーを使用している可能性がある場合を除き、リキャップは嘘つきを見つけることができますが、その時点ではできません。 /気にしません。