0

Flex 4.5 Web ベースのアプリケーションを開発しています。クライアントが特定のレベルのセキュリティを選択した場合、各ユーザーは承認されたコンピューターからのみログに記録できるようにする必要があります。

問題は、固有のコンピューター情報を取得するにはどうすればよいかということです。HDD のシリアル番号、CPU の仕様、マザーボードの情報など、オペレーティング システムにログインしているユーザーでも実行できます。

これまでのところ、Web 上の情報では、これが達成できるという希望はあまりありませんが、尋ねなければなりませんでした。前もって感謝します。

4

5 に答える 5

2

Webアプリケーションで利用できる唯一のオプションは、flash.system.Capabilitiesクラスのフィールドから一意のIDを作成することだと思います。

使用できる他の戦略は、コンピューターの認証の過程で一意のUIDを生成し、を使用してローカルストレージに保存することSharedObjectです。次に、WebアプリはWebアプリの起動時に認証データを読み取ろうとしますSharedObject。そのようなデータがない場合、コンピューターは許可されていません。

于 2011-08-29T19:28:09.583 に答える
2

リチャードは正しいです。セキュリティ上の理由から、Flash Player を介して実行されるアプリケーションでは、一意の識別情報は利用できません。ユーザー (およびその IT 管理者) が許可する場合、Active X コントロール (IE 用) またはプラグイン (Mozilla ベースのブラウザー用) を記述して、アプリの追加情報を取得できます。利用可能な情報は、ユーザーが実行しているブラウザとオペレーティング システムによって異なります。

一方、Adobe Air では、NetworkInfo クラスの MAC アドレスを含む追加のネットワーク情報にアクセスできます。追加のセキュリティが必要なユーザーのために、クライアント アプリをインストールすることを検討する価値があるかもしれません。見てみましょう: http://www.adobe.com/devnet/air/flex/articles/retrifying_network_interfaces.html

于 2011-08-29T19:30:46.927 に答える
1

ブラウザ ベースの Flex アプリケーションを使用する場合、これは簡単ではありませんが、いくつかの回避策があります。

ブラウザーベースの Flash Player は、ローカル接続を使用してデスクトップ上の AIR アプリと通信できます。そのため、NativeProcess を使用してマシン固有の情報を取得する AIR アプリを作成できます。

ブラウザーをまったく使用せずに、AIR アプリから NativeProcess を使用することもできます。

3 番目のオプションは、アプリケーション サーバーをクライアント マシンにインストールし、ブラウザ ベースのアプリがサーバーと通信してクライアント情報を取得することです。

これらのオプションのほとんどは実用的であるには難しすぎると思いますが、それはこの機能があなたにとってどれほど重要かによって異なります.

于 2011-08-29T19:29:40.380 に答える
1

Flash Player のセキュリティ サンドボックスでは、SWF が実行されているシステムに固有のものを読み取ることはできないため、残念ながらこれは不可能です。あなたが取得する最も近いものはCapabilities.serverStringおそらくIPアドレスと一緒ですが、プロパティはクライアントのすべての機能serverStringをリストしているだけであり、これは明らかに固有のものではなく、同じコンピューターでも時々変化する可能性があります.

于 2011-08-29T19:14:29.570 に答える
0

警告: サーバーサイド スクリプトに関する私の知識は、控えめに言っても限られています。これは技術的な解決策ではなく、問題に対する別のアプローチです。

代替ソリューションは、IP や MAC アドレスなどのデータを取得するために、サーバーで raw パケットを検査することです。これに基づいて、サーバーはログイン試行を拒否または許可できます。

私は、C ベースのブラック マジックがかなり一般的なマイクロ コントローラーで実行される組み込み Web サーバーでの作業に慣れているため、従来の環境でこれが可能または実用的かどうかはわかりません。

于 2011-08-30T10:51:49.597 に答える