2016-05-21 9 views
1

ウェブページがインターネットまたはイントラネット上で提供されているかどうかを検出する必要があります。つまり、https://accessibleanyway.comのURLを仮定すると、電話機は仕事用無線LANやその他のものに接続されています自宅の無線LANや電話ネットワークのようなものですか?ブラウザがイントラネット上にあることを検出する

これを行うにはどのような方法がありますか?

(1)WebRTCを使用してローカルIPアドレスを取得します。広く

をサポート(2)ローカルのWebページにアクセスしてみ

JSONP/CORS/IFRAMEを使用して、2の問題は、Webページがhttpsで、ローカルリソースがHTTPたことができます」である可能性が高いことではありませんIEアフリカではできません。ローカルリソースhttpsを作成すると、電話にCAをインストールすることを意味する自己証明書を使用します(イントラネットの証明書を購入できますか?)

提案がありますか?

+0

ではありませんので、私は、サーバー上で、どこ検出、IPアドレスのアプローチは、あなたがそこに行くまで、企業のイントラネット設定がどのように見えるかを知る方法はありませんとして仕事に行くことはありませんだと思うNBまたはクライアント? –

+0

私はクライアントを想定していますが、サーバは可能性があります – tony

+0

サーバはローカルIPアドレスを取得していますか? – tony

答えて

0

(2)の問題は、同じページがhttpとhttpsを使用しようとしていて、iframeを使用しても問題が発生することでした。

代わりにhttpロードページから開始し、iframeを使用してイントラネット上にある場合にのみアクセスできるローカルリソースにアクセスしてください。jsonpはこのためにうまく動作します。それがうまくいったり失敗したりした場合は、クエリ文字列にトークンを入れてスタートページにリダイレクトして、イントラネット上にいるかどうかを確認してください。

NBがhttpからhttpsにジャンプすると、 (認証のクッキーが最初に表示されています)。しかし、別のものに行く場合はうまくいくと思っていたでしょう。

トークンの周りにセキュリティが必要になることは明らかです。それは個々の設定に依存する別の問題です。明らかにサーバーコールによって生成される必要があります。そうでなければ、誰かがクライアントコードを読み取ることができます。

それは一般的な答え

関連する問題