私はパスワードで保護された Web サイトを持っています。LinkedIn のようなものを想像してみてください。セッションが期限切れになると、再度ログインするように求められます。
ただし、一部のページには ajax 呼び出しがあり、コンテンツをサーバーから div にロードします。
セッションの有効期限が切れた後に開いている div に戻って何かを入力しようとすると、反対側の php が div 内でリダイレクトを行い、基本的にログイン ページ全体を div 内にロードします。これにより、ページ内にページが作成されます。これは、サイトが適切に機能していないことをユーザーに知らせる明らかなエラーです。
開いている div 内に表示されるログイン ページの代わりに、div を閉じて、ページ全体をログインにリダイレクトしたいと思います。しかし、私はこれを達成するのに苦労しています。
現在、セッションをチェックして続行できるようにするか、ログインページに移動できるようにするインクルードを使用してパスワード保護を行っています。
If ($_SESSION['login'] != '1') {
header("Location: relogin.php"); }
ユーザーがセキュリティをバイパスできないように、div を埋めるための ajax 呼び出しによってトリガーされるスクリプトにこれを含めます。これは、いくつかのグローバル変数、関数なども保持する包括的なインクルードです。
呼び出しが ajax などから来ているかどうかを検出するコードを追加して、リダイレクトを行わず、代わりにログインにメッセージを表示できますか? または理想的には、div を閉じてページ全体をリダイレクトしますか?
これは大規模なサイトであるため、グローバル インクルードに入る可能性のあるコード ブロックを 1 つ見つけたいと考えています。
提案をいただければ幸いです。