cgi.pm重定向不会打印到Target _top

时间:2013-04-20 09:02:00

标签: jquery perl cgi

我不确定我需要在这里提供多少信息..所以在我尝试解释这个场景时请耐心等待。如果有太多"填充"

,请道歉

我有一个应用程序,我使用CGI :: Session来保证安全性。各种页面都是通过jquery,perl,ajax调用等组合引入的。当我打印其中一个受密码保护的页面时,我会检查CGI :: Session记录的登录状态,并在必要时重定向到主页。以下perl:

print $cgi->redirect( -URL => $homepage);

这完全符合预期。

然而......

其中一个受密码保护的页面中有一个DIV,其中包含一个控制面板......它本身是通过jquery和ajax调用引入的。我最近决定在用户​​点击" ok"时保存这些数据时增加一些额外的安全性。 ...调用perl的另一个ajax调用(ControlPanelSave.pl)。在perl中,我决定为CGI :: Session登录标志添加相同的检查(用户可能在控制面板上坐得太久,当他们点击保存时他们已经超时 - 或者可能是一个坏人发现了javascript)。因此,如果没有登录,perl会检查并重定向到主页。

我遇到的问题是主页然后打印在控制面板DIV内部,就像它是一个框架。

我尝试使用我能想到的唯一方法来修复它:

print $cgi->redirect( -URL => $homepage, -target => '_top' );

哪个没有任何区别 - 它仍会在控制面板DIV中打印主页。

重定向它的正确方法是什么?

1 个答案:

答案 0 :(得分:0)

您必须编辑JavaScript以识别它没有获得预期的数据并在客户端上设置location