2012-03-15 15 views
1

私は、デスクトップブラウザ、モバイルブラウザ、モバイルおよびタブレットのネイティブアプリケーションなど、さまざまなプラットフォームでさまざまなクライアントをサポートするWebアプリケーションを用意しています。私はのような安全な方法でを検出することが可能かどうか疑問に思っています。これらのプラットフォームのどれがサービスへの接続に使用されていますか?私のウェブクライアントのプラットフォームを検証可能な方法で検出することは可能ですか?

これは有益な情報であり、クライアントプラットフォームに基づいてセキュリティの決定を行うことができるユースケースを可能にします。たとえば、ユーザーがモバイルクライアント上にあった場合や、既知の脆弱性を持つブラウザの場合、サービスの特定の部分へのアクセスを制限することができます。

私はを知っています。これは、ユーザーエージェント文字列、インストールされたプラグイン、画面の大きさなど、さまざまなブラウザベースの属性を使用してクライアントに固有のフィンガープリントを設定していますが、すべての情報がクライアント上でコンパイルされ、簡単に偽装される可能性があるため、「検証可能な」要件です。

クライアントから送信された情報が正確であることをサーバー側で検証できる解決策が必要です。そのような解決法は存在しますか?

答えて

2

最終的にそれらを識別するために使用する情報がクライアント側から来るため、どのユーザーエージェント/プラットフォームが対処しているかを知る方法がありません。

ブラウザまたはオペレーティングシステムの指紋に使用する属性は、異なるHTTPヘッダーを送信するだけで偽装できます。ブラウザーレベルのHTTPヘッダーマニピュレーターとHTTP要求コードライブラリーが数多くあり、正確にそれができます。

したがって、クライアントのプラットフォームまたはユーザーエージェントに基づいて、-any-セキュリティの決定を行うことをお勧めします。これらの行に沿ったユーザビリティのために設定するルールは、ハッカーによって侵害される可能性があるとします。

関連する問題