2016-04-18 10 views
0

translate.google.comまたはhypothes.isのような機能を持つサイトを作成したいと思います。ユーザーは任意のアドレスと追加のメニューでサイトを開くことができます。私はこれがいくつかのミドルウェア - プロキシソリューションで行われ、javascriptがレスポンスに注入されていると推測しますが、わかりません。同じ機能を実装する方法はありますか?セキュアな(https)サイトではどのように動作しますか?JavaScriptコードを挿入する適切な方法は?

多くのおかげ

答えて

0

サイト全体がサーバーによってフェッチされ、ソースコードが解析されるが、コードを注入し、その後、要求元のクライアントに返送されます。

これは2つの別々のリクエストであるため、SSLで正常に動作します。エンドポイントに送信されるリクエストはユーザーには表示されません。

証明書はGoogleのドメインで提供されているため有効です。

実際にあるため、このようなものは、潜在的に、非常に複雑になる可能性が実現するために:あなたが解析しているHTMLは必ずしもあなたの期待に合致し、あるいはコンテンツます

  • 有効になりません

    • クライアントに転送すると、相対URIでリソースを参照する可能性が高くなります。つまり、これらのリクエストを傍受し、リソース(イメージ、外部のcss、jsなど)をプルしてクライアントに戻し、URLを書き直す必要もあります。
    • 任意のjavascriptを注入することでコンテンツを中断するのは非常に簡単です。注入されたコードが含まれており、サイト上の既存のコードに干渉しないように注意する必要があります。
    • このような実装では、明らかではないセキュリティ上の問題があり、XSS攻撃が可能になることがよくあります。
  • 関連する問題