スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

SSL対応のページからSSL非対応のページへ戻ろうとすると、 意図しないページへ遷移してしまう。

原因は$_SERVER["HTTP_REFERER"]がセットされないため。
今回は、直接リンク防止のため、$_SERVER["HTTP_REFERER"]をチェックし、
$_SERVER["HTTP_REFERER"]が存在しないときは、トップページへ(下図のAへ)
戻るような仕様にしていた。

A?→?B?→?C
|       ↑       |
↑       ←???←
|               ↓
|???←???|

たとえば、A,B,Cというページがあったとする。
画面遷移は、AからB、BからC、CからB、CからAへの遷移が可能である。

A,BはSSL非対応ページ、CはSSL対応のページである。
CからBへ戻るような仕様としていたが、今回はこれがうまくいかなかった。
(Aへ戻ってしまった)

$_SERVER["HTTP_REFERER"]を調べてみたところ、
Bへ戻ったときは、$_SERVER["HTTP_REFERER"]がNULLになることが判明した。
そのため、$_SERVER["HTTP_REFERER"]が存在しないと見なされ、Aへ遷移してしまった。

このことからSSL対応のページからSSL非対応ページへ
遷移するときは、$_SERVER["HTTP_REFERER"]がNULLになることが判明した。

直接リンクをチェックする際は、上記に注意する必要がある。

今回は、BもSSL対応のページとすることで対応した。


スポンサーサイト

コメントの投稿

非公開コメント

プロフィール

e.swan

Author:e.swan
FC2ブログへようこそ!

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。