-1

誰かが Windows ターミナル サービス/Citrix/RDP リモート デスクトップ環境から私の Web サイトに接続しているかどうかを PHP で確認する方法はありますか?

私の Web アプリケーションは、誰かがリモート デスクトップ接続を介して IE9 を使用して接続している場合 (およびその場合のみ) に重大なパフォーマンスの問題を経験しています。私は、これらの問題の原因を探さなければならないことを知っており、私がそうであると信じています。ただし、何らかの理由でIE8互換モードに切り替えると問題が解決することがわかりました。とりあえず、誰かがリモートデスクトップ接続を介してIE9を使用して私のWebサイトに接続しているかどうかを検出して、IE8互換モードを強制できるようにしたいと思います。

リモートデスクトップIE9で私のWebアプリケーションが非常に遅い理由についての考えも大歓迎です. 私の Web アプリケーションは、PHP/jQuery/jQueryUI/jqGrid/mySQL で構築されています。

4

2 に答える 2

3

PHP、HTTP、HTML、DOM、さらにはブラウザーの DOM 拡張機能でさえ、ターミナル サービス セッションで実行しているかどうかを知ることはできません。

唯一の方法は、ActiveX コントロールまたは .NET アプレットを使用して Win32 を直接クエリすることです。C#/.NETSystem.Windows.Forms.SystemInformation.TerminalServerSessionでは、 を使用してその情報をサーバーに返すことができますが、これはページが読み込まれた後にのみ行うことができます。

rdpddターミナル サービスは仮想ディスプレイ ドライバを使用するため、これはおそらく IE9 の強化されたハードウェア アクセラレータ レンダリング機能の問題です。ターミナル サーバーの IE でこのオプションを無効にしてみてください。

于 2013-04-25T19:12:07.790 に答える
0

リモート デスクトップ ユーザーは、ホスト ( server 、または citrix ) アプリ内のセットアップとしてブラウザーを使用しています。サーバー管理者は、ブラウザー設定 (IE の強化されたセキュリティ設定) ウイルス スキャナーの統合などのオプションを定義できます。

また、利用可能なブラウザ (IE 7-8-9-10)。これらのブラウザは、レンダリングで異なる動作をします

IE-XXX 互換モードは、アプリケーションで制御できます http://msdn.microsoft.com/library/cc817574.aspx

1ページあたり:

<meta http-equiv="X-UA-Compatible" content="IE=8"/> 

html に「!DOCTYPE」が存在しない場合でも、ページは常に「IE8 標準モード」でレンダリングされます。

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE9"/> 

html に「!DOCTYPE」が存在しない場合でも、ページは常に「IE9 標準モード」でレンダリングされます。

<meta http-equiv="X-UA-Compatible" content="IE=9"/> 

html に「!DOCTYPE」が存在しない場合でも、ページは常に「IE9 標準モード」でレンダリングされます。

<meta http-equiv="X-UA-Compatible" content="IE=edge"/> 

この構成では、利用可能な最新バージョンの IE レンダリング エンジンが使用されます。「!DOCTYPE」が使用されたかどうかは気にしません。この機能は、「IE=7」および「IE=8」と同等です。これは、最新の IE バージョンとの互換性を保つために使用されます。

したがって、RDP や Citrix ホストを気にする必要はなく、適切なモードでの IE の使用をサポートする必要があると思います。

于 2013-04-25T19:14:21.607 に答える