1

私のアプリケーションから、ユーザーが2つの異なるタブ/ウィンドウで同じリンクを開くのをブロックする必要があります(リンクは静的ではなく動的です)。リンクはIDベースで生成されるため、ユーザーが異なるタブで同じID情報を開くことはできません。

どうすればそれを防ぐことができますか?

4

4 に答える 4

0

ローカル ストレージを使用して、ロード アクティビティで開かれたページにフラグを立て、フラグが設定されている場合はロード チェックのアンロードでフラグをリセットし、フラグが設定されている場合は制限し、そうでない場合は許可することができます。

于 2014-12-30T05:27:31.683 に答える
0

window.open() を使用してウィンドウに名前を付けると、複数のウィンドウ/タブは開きません。

例:

window.open("http://www.google.com", "myWindow");

ウィンドウ間の違いを生む ID がある場合、コードは次のようになります。

window.open("url_for_id", "window" + id);
于 2012-05-10T08:47:53.273 に答える
0

私はあなたがそれを行うことができるとは思わない. しかし、このようにすることができます ユーザーがページを表示するたびにトークンを生成し、それをセッションとページに保存します ユーザーが両方のタブからデータを送信するのを防ぐことができます

于 2012-05-10T08:49:01.233 に答える
0

あなたが来ることができる最も近いものは次のとおりだと思います:

  • ログインしたユーザーにのみ情報を提供する
  • ページごとにランダムなトークンを生成します (そして、どのトークンがどのページに関連付けられているかを追跡します)
  • Ajax を使用してn秒ごとにサーバーに ping を実行し、リクエストでトークンを渡します
  • サーバーが「 n 回 3秒以内に同じユーザーから同じページの異なるトークンを受信しました」と応答するか、応答が受信されない場合、document.body.innerHTML = ''

もちろん、これはユーザーにとって恐ろしいことであり、デバッグ ツールで JS をハッキングするか、情報をコピーして貼り付けるか、スクリーン ショットを撮るだけで、簡単に無効にすることができます。

Web ブラウザは、取得した情報でユーザーがダウンロードできるものを制限するようには設計されていません

于 2012-05-10T08:50:33.557 に答える