web-dev-qa-db-ja.com

一部のインターネットバンクで[戻る]ボタンが強制的にログアウトされるのはなぜですか?

私がインターネットバンキングサイトで気付いたデザインパターンは、ブラウザーの[戻る]ボタンを押したときに自動的にログアウトされて警告ページに送信され、セッションを終了して再度ログインするように要求するというものです。

これはなんらかのセキュリティ上の理由によるものだと思いますが、何が原因なのか途方に暮れています。この行動の根拠は何ですか?

41
Nick F

そのような銀行があなたを保護したいと思うかもしれないシナリオはこれかもしれません:

  1. 銀行のウェブサイトにアクセスし、銀行業務を行います。
  2. 終了したら、ログアウトし、他のWebサイトに移動して、猫の写真などを見てください。
  3. あなたは猫の写真のウェブサイトを開いたままコンピュータを残します。画面に害を及ぼすものは何もないため、安全に操作できます。
  4. あなたの邪悪なルームメイトがやって来て、戻るボタンを数回押します。
  5. 彼らはあなたの銀行サイトのキャッシュされたバージョンに到着し、あなたの銀行口座を見て、あなたがまだあなたが家賃のあなたのシェアを支払っていないことを確認します明らかに十分なお金を持っていますそれをするために。

これが、ブラウザの戻るボタンを使用して銀行のウェブサイトに移動しても機能しない理由の1つです。

しかし、もっとありそうな理由は、ウェブ開発者側の怠惰かもしれません。

ユーザーが前後のナビゲーションを使用できるようにすると、Webアプリケーションに追加の変数が作成され、常に注意する必要があります。これを不可能にするだけで、その変数が削除され、開発者が安全でバグのないアプリケーションを作成することがはるかに容易になります。銀行業務アプリケーションのバグはかなりの経済的損害を引き起こす可能性があるため、そのセクターの開発者は保守的であり、より予測可能なアプリケーションの使用パターンになると使いやすさが制限される傾向があります。

56
Philipp

ここではいくつかのことが行われています。

銀行サイトは、キャッシュ制御ヘッダーを使用して、ページのキャッシュを禁止します。そのため、戻るをクリックすると、ブラウザはサーバーからページをリロードする必要があります。

サイトの一部には、ページの厳密なフローがある場合があります。取引の詳細を入力し、SMSコードを入力し、取引の確認を表示します。これには、表示するページを厳密に追跡する必要があります。そのため、戻るをクリックすると、これが壊れ、エラーが発生します。

また、サイトのセキュリティを向上させるための疑わしい試みが原因で発生することもあります。たとえば、一部の銀行では、リクエストごとに変化するセッショントークンがURLにあり、前に戻るとトークンは無効になります。

通常、サイトがこのような動作をする必要はありません。 10年ほど前に戻ると、それは非常に一般的でしたが、現在はそうではありません。

27
paj28

これは今ではあまり一般的ではありませんが、かなり前の時点で、多くのWebサイトはクラシックなターミナル( IBM 327 など)アプリケーションのHTMLラッパーであり、ステートフルにスクレイピングされていました。ビューとモデルの分離の全体的な考え方が非常に新しいレガシー業界で。多くの銀行のWebサイトがまだこのように実装されているか、以前と同じように「万が一」のように戻るボタンを防止する動作をしている可能性があります。

8
fluffy