3

クライアントソフトウェアをハイポートでサービスとして実行し、127.0.0.1からの単純なhttpGETリクエストをリッスンするというアイデアを模索することを考えています。理論的には、自分のサイトから提供されているWebページからjs経由でこのサービスにアクセスできるようになります。

1)ユーザーは、サービスとして自分自身をインストールし、127.0.0.1:8080で認証された要求を待機するクライアントソフトウェアをインストールします

2)ユーザーが私のホームページにアクセスすると、ページ上のjsが127.0.0.1:8080にxhtmlリクエストを送信し、ステータスを要求します

3)次に、ホームページは、受信したステータスを送信する別のjsリクエストをWebサーバーに送り返します。

これにより、ユーザーはUSB接続デバイス上のファイルをブラウザからリアルタイムでアップロード/ダウンロードおよび編集できるようになります。ポーリングは、今日私たちが行っていることに近いフォールバック方法である可能性があります。

誰かがこれをしましたか、そしてどんな潜在的な落とし穴がありますか?これも機能しますか?

4

4 に答える 4

3

潜在的な落とし穴は見当たりません。ただし、いくつかのポイントがあります。

1/ おそらく、サービスがローカル マシン (127.0.0.1) からの着信接続のみを受け入れるようにする必要があります。そうしないと、だれかがあなたの JavaScript を見て、それが [your-ip]:8080 と通信していることに気付く可能性があります。その後、リモート サイトから自分で試すことができます (セキュリティ ホール)。

2/ ポート 8080 は他のもの (代替 HTTP サーバーなど) によく使用されるため、使用しません。構成可能にして、適切な高いランダム タイプの値を選択します。

3/ ポイント 3 で何をしようとしているのかわかりませんが、ステータスをユーザーに送り返そうとしていると思います。その場合、ホームページの JavaScript が 1 回のセッションでステータスを取得し、ユーザーに表示される HTML を出力/更新しないのはなぜでしょうか? あなたの「私のWebサーバーへの別のjsリクエスト」は意味がありません。

于 2008-12-02T03:16:26.990 に答える
1

XMLHTTPRequest は通常、メイン コンテンツが提供されているドメインと同じドメインに制限されているため、127.0.0.1 に対して xml http リクエストを実行できない場合があります。サーバーがクライアントのマシン上にある場合、この制限が適用されるかどうかはわかりません。そうは言っても<script>、src が 127.0.0.1 を指しているタグを作成し、Web サーバーに実行する Javascript を返させることはできます。単純な応答のみが必要な場合は、これでうまくいく可能性があります。

于 2008-12-02T03:24:30.593 に答える
0

JavaScriptやhtmlでのアプリケーションロジックの実装を避ける方がはるかに良いと思います。ユーザーがウェブページのボタンをクリックすると、JavaScriptはサービスにリクエストを送信し、残りの作業を許可する必要があります。

于 2008-12-02T03:29:00.257 に答える
0

ターゲット ユーザー ベースによっては、ステップ 1 (クライアントが自分自身をインストールする) で問題が発生する可能性があります。

  • サポートされている環境 (Win2K、Vista、Linux、MAC OS 9.0/10.0 など) ごとにカスタマイズされたインストールが必要になります。
  • ユーザーが職場の PC でロックダウンされている場合、これは単に許可されません。
  • 一部のユーザーにとって、サービスとして実行されるソフトウェアをインストールすることを明示的に指摘しない限り、これはトロイの木馬にひどく似ているように見えるかもしれません。
  • アンインストール手順については言及していません。ユーザーは、自動的にインストールされ、賢明なアンインストール オプションを提供しない「Adobe」のようなソフトウェアに憤慨している
  • それ以外の場合、アプローチは健全であり、まさにこのアプローチを使用する商用製品がいくつかあります!

    于 2008-12-02T08:23:03.657 に答える