私が開発を支援している製品は、基本的に次のように機能します。
<script>
Web パブリッシャーは、当社のサーバーからのを含むサイトに新しいページを作成します。- 訪問者がその新しいページに到達すると、ページのテキスト コンテンツが収集され、POST リクエスト (クロスドメイン、 の内部を
<script>
使用) を介してサーバーに送信されます。<form>
<iframe>
- サーバーはテキスト コンテンツを処理し、Web 上の関連コンテンツへのリンクを一覧表示する HTML フラグメントを含む応答を ( JSONP経由で) 返します。この応答は、同じ URL からテキスト コンテンツを含む別の POST 要求を受信するまでキャッシュされ、後続の訪問者に提供されます。その時点で、「新しい」応答が再生成されます。これらの POST は、キャッシュされた TTL が期限切れになったときにのみ発生します。その時点で、サーバーはそれを通知
<script>
し、ページ上でテキスト コンテンツを収集して再度 POST するように促します。
問題は、このシステムが本質的に安全ではないように見えることです。理論的には、誰でもページのコンテンツをサーバーに送信する HTTP POST リクエスト (リファラー ヘッダーを含むため、それを確認することはできません) を偽装することができます。これには、そのページの関連コンテンツ リンクを生成するために使用する任意のテキスト コンテンツを含めることができます。
これを安全にする上での主な問題は、JavaScript が公開されていることです。秘密鍵ではないため、秘密鍵やその他の暗号化された識別子やパターンを使用することはできません。
理想的には、特定の Web ページに対応する POST 要求が本物であることを何らかの形で検証するメソッドが必要です。JavaScript にコンテンツを送信させる目的は、ログイン システムの背後にある可能性があるためです。
何か案は?問題を十分に説明できたことを願っています。ご提案いただきありがとうございます。