ここでどれだけの情報を提供する必要があるのか わかりません..シナリオを説明しようとしている間、しばらくお待ちください. 「パディング」が多すぎる場合の謝罪
セキュリティのために CGI::Session を使用するアプリケーションがあります。さまざまなページが、jquery、perl、ajax 呼び出しなどの組み合わせで取り込まれます。パスワードで保護されたページの 1 つを印刷するときに、CGI::Session レコードのログイン状態を確認し、必要に応じてホームページにリダイレクトします。次のパール:
print $cgi->redirect( -URL => $homepage);
これは期待どおりに完全に機能します。
でも ...
コントロールパネルを含むパスワードで保護されたページの1つにDIVがあります...それ自体はjqueryとajax呼び出しを介して取り込まれました。私は最近、ユーザーが「OK」をクリックしたときに、このデータの保存に追加のセキュリティを追加することにしました...これにより、perl (ControlPanelSave.pl) への別の ajax 呼び出しが呼び出されます。Perl では、CGI::Session のログイン フラグに同じチェックを追加することにしました (ユーザーがコントロール パネルに長時間座っていて、[保存] をクリックしたときに既にタイムアウトになっている可能性があります。または、悪い人がjavascriptを見つけました)。そのため、ログインしていない場合、perl はチェックしてホームページにリダイレクトします。
私が抱えている問題は、ホームページがフレームのようにコントロール パネルの DIV 内に印刷されることです。
私はそれを修正するために考えられる唯一の方法を使用してみました:
print $cgi->redirect( -URL => $homepage, -target => '_top' );
これは何の違いもありません。コントロール パネルの DIV 内にホームページが印刷されます。
リダイレクトする正しい方法は何ですか?