回答編集履歴

1 追記

takepieee

takepieee score 668

2017/01/26 16:22  投稿

ブラウザのポリシーとして、ユーザの意思で戻りたいページに戻る事をさせない、ということは出来ないのではないでしょうか。
JSでどう制御しようとしても、JSをブラウザで切られていたら意味ありませんし。
> ページAにおいて、
> ページA → ページB は戻れても良いが
> ページA → ページZ(Zは特別戻らせたくないページ)のようにZにだけは戻れないようにする。
ページ経路がB→Aなのか、Z→Aなのか、私の理解が悪いのか、よくイメージが掴めないので的はずれであればすみません。
前述したとおりJS制御には限界があります。
phpとかサーバ側で、ページZをユニークなURLにするのがいいのではないでしょうか。
正しい経路でページZを閲覧する場合のみトークンを発行し、そのトークンをサーバ側で受け取れた場合のみページを表示させるという仕組みを作るイメージです。
ページAからはトークンを発行させなければ当然見ることは出来ませんし、戻るボタンを使われてもそのURL自体がユニークであれば表示しません。
ページAからはトークンを発行させなければ当然見ることは出来ませんし、戻るボタンを使われてもそのURL自体がユニークであれば表示しません。
追記:php側でキャッシュを無効にする必要もあります。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る