6

プロバイダーでホストされているWebサイトがあり、固定IPアドレスが提供されていないため、httpsを使用できません。Webフォームを使用して、安全な方法でページを編集したいと思います。

クライアントはiphoneタイプのデバイスであるため、Javaまたはフラッシュアプ​​レットは問題外です。

  • ブラウザでjavascriptのみを使用して、サーバーとブラウザを安全に接続する方法はありますか?

サーバー上の言語は現在phpですが、ruby、python、perl、luaのいずれかである可能性があります。

4

10 に答える 10

12

SSL証明書をインストールする場合、技術的には固定IPアドレスは必要ありません。SSL証明書はホスト名(共通名)に関連付けられています。ホストのIPアドレスは頻繁に変更されており、証明書に関連するものは変更されていません。

そうは言っても、JavaScriptなどを実際に使用することはできますが、それは実際には良い解決策ではありません。常にハックのようなにおいがします。

于 2009-02-05T14:36:42.023 に答える
5

javascriptで実装された何らかの形式の公開鍵暗号化を使用できます。

  • クライアント側にフォーム、公開鍵、およびjs暗号化ライブラリを提供します
  • 送信時に、jsはフォームペイロードを暗号化します
  • 秘密鍵で復号化する

これにより、誰かがネットワーク上の機密情報を盗聴するのを防ぐことができますが、中間者攻撃に対する保護は提供されません。SSLを使用すると、このような攻撃を実行するのが少し難しくなりますが、不可能ではありません。

于 2009-02-05T14:37:17.013 に答える
4

従来の意味ではありませんが、いくつかのオプションがあります。

  1. より良いホスティングを手に入れましょう。固定 IP の VPS を月額 20 ドルで利用できます。年間30ドルの証明書。セキュリティが必要な人にはかなり安いです。

  2. javascript と PGP を使用してフォーム データを暗号化できます。これは安価です (そして、ユーザーに表示されます) が、データを十分に安全に保つ必要があります。

  3. サーバー (ひいては) 証明書を介してフォームの送信を許可するサードパーティが存在する可能性があります。ただし、あなたとあなたのユーザーは、データを悪用しないように信頼する必要があります.

于 2009-02-05T14:39:05.543 に答える
3

理論的には、JavascriptとXmlHttpRequestsを使用して、クライアントとサーバー間にある種の安全な通信を実装できます。実際には、それは多くの作業のように聞こえ、高速で真に安全である可能性は低いようです。

Alexが上記で述べたように、JSで実装できたとしても、安全でない接続を介してJSをクライアントに提供する必要があるため、すべてがかなり無意味になります。

それでも、以前はもっとクレイジーなことがJavascriptに実装されていました...

于 2009-02-05T14:34:57.940 に答える
1

答えはノーだと思います。その理由は、httpsがないと、すべてのトラフィックが暗号化されていないプレーンテキストであるためです。したがって、クライアント側での暗号化アルゴリズムまたはキー交換は、誰でも読み取ることができます。私は間違っているかもしれません...私はそれを試したことがありません。

于 2009-02-05T14:34:41.620 に答える
1

クライアントを制御でき、(たとえば) サーバーからダウンロードされない信頼できる JavaScript がある場合、理論的には可能です。詳しく説明することはできますが、これらの行にあるものはすべて PITA であり、https を使用する場合と比較してエラーが発生しやすくなっています。

また、固定 IP を取得する必要はありません。ドメイン名はありますか?

于 2009-02-05T14:38:25.233 に答える
0

どのようにしてJavascriptを使用することができますか?ブラウザがjavascriptを実行するには、最初に(前述の)安全でないサーバーからjavascriptをダウンロードする必要があります。HTTPSはサーバー/クライアントプロトコルであるため、サーバー自体で実装できない場合は、まったく実装できません。

HTTPSに必要なのは単一のIPアドレスだけなので、変更されても問題ありません。動的IPでHTTPSを使用できるはずですが、ホスティング業者と話す必要がある場合があります。ホスティングが共有サーバー上にある場合、それは機能せず、専用IPが必要になります。彼らはそれほど高価ではないので、多分あなたは月に3/4ドルを払うべきですか?

アレックス

于 2009-02-05T14:34:53.477 に答える
0

ほぼ 2 年後ですが、現在 JavaScript でオープンソースの SSL/TLS 実装があります。ただし、現在、生のソケット アクセスを提供するために Flash に依存しています。そのため、アプリケーションが iPhone ではなく Android フォンで実行される場合を除き、それほど役に立たない可能性があります。

http://github.com/digitalbazaar/forge/blob/master/README

于 2010-08-31T16:56:01.507 に答える
0

SSL は、IP アドレスではなく、ドメイン名で動作します。ドメイン名を所有していて、ポート 443 を開いてサイト用に購入した証明書をインストールしてくれるプロバイダーがいる限り、HTTPS を使用できます。

そうは言っても、それができないと仮定して、SRPを調べてください:

サイトから:「SRP は、安全なパスワードベースの認証および鍵交換プロトコルです。クライアントをサーバーに安全に認証する問題を解決します...さらに、SRP は、認証の成功の副産物として、暗号的に強力な秘密を交換します。両者が安全に通信できるようにします。」

Javascript の例があります。副産物を使用して、ネットワーク経由でデータを暗号化します。

ただし、ほとんどの投稿者と同様に、おそらく新しいプロバイダーに移行した方がよいでしょう.

于 2009-02-05T14:39:57.477 に答える
0

はい。Private Formsから、PGP 暗号化を使用して埋め込みフォームを使用できます。

Private Forms は、データをサーバーに送信する前に Web フォーム データをクライアント側で暗号化する SaaS です。次に、この暗号化されたデータがあなたに送信されます。すべてのデータは PGP 公開鍵を使用して暗号化され、PGP 秘密鍵を使用して復号化できるのは自分だけです。

そのため、フォームに記入する人はそれが「安全」であることを知っていますが、詳細 (キーの生成など) に精通している必要はありません。

于 2015-09-01T14:04:19.723 に答える