私がインターネットバンキングサイトで気付いたデザインパターンは、ブラウザーの[戻る]ボタンを押したときに自動的にログアウトされて警告ページに送信され、セッションを終了して再度ログインするように要求するというものです。
これはなんらかのセキュリティ上の理由によるものだと思いますが、何が原因なのか途方に暮れています。この行動の根拠は何ですか?
そのような銀行があなたを保護したいと思うかもしれないシナリオはこれかもしれません:
これが、ブラウザの戻るボタンを使用して銀行のウェブサイトに移動しても機能しない理由の1つです。
しかし、もっとありそうな理由は、ウェブ開発者側の怠惰かもしれません。
ユーザーが前後のナビゲーションを使用できるようにすると、Webアプリケーションに追加の変数が作成され、常に注意する必要があります。これを不可能にするだけで、その変数が削除され、開発者が安全でバグのないアプリケーションを作成することがはるかに容易になります。銀行業務アプリケーションのバグはかなりの経済的損害を引き起こす可能性があるため、そのセクターの開発者は保守的であり、より予測可能なアプリケーションの使用パターンになると使いやすさが制限される傾向があります。
ここではいくつかのことが行われています。
銀行サイトは、キャッシュ制御ヘッダーを使用して、ページのキャッシュを禁止します。そのため、戻るをクリックすると、ブラウザはサーバーからページをリロードする必要があります。
サイトの一部には、ページの厳密なフローがある場合があります。取引の詳細を入力し、SMSコードを入力し、取引の確認を表示します。これには、表示するページを厳密に追跡する必要があります。そのため、戻るをクリックすると、これが壊れ、エラーが発生します。
また、サイトのセキュリティを向上させるための疑わしい試みが原因で発生することもあります。たとえば、一部の銀行では、リクエストごとに変化するセッショントークンがURLにあり、前に戻るとトークンは無効になります。
通常、サイトがこのような動作をする必要はありません。 10年ほど前に戻ると、それは非常に一般的でしたが、現在はそうではありません。
これは今ではあまり一般的ではありませんが、かなり前の時点で、多くのWebサイトはクラシックなターミナル( IBM 327 など)アプリケーションのHTMLラッパーであり、ステートフルにスクレイピングされていました。ビューとモデルの分離の全体的な考え方が非常に新しいレガシー業界で。多くの銀行のWebサイトがまだこのように実装されているか、以前と同じように「万が一」のように戻るボタンを防止する動作をしている可能性があります。