我目前有一個小腳本運行,發送一個401到客戶端,取消和不提供用戶詳細信息時,腳本將不會返回任何內容。取消後的Perl CGI重定向401
我想發送重定向到它們來自的頁面。
主子程序看起來像這樣;
#!usr/bin/perl
use strict;
use CGI;
sub checkAuth {
my ($user, $pass) = &getAuthUsers(); # Get the user and pass of already authenticated users.
unless ($user) {
&sendAuthenticationHeader(); # Send 401
}
# Check user against DB and return 1 for success.
if (&checkUser($user, $pass) eq 'Y') { return 1 };
else { # This is the redirect I'm trying to issue.
my $cgi = CGI->new();
print $cgi->redirect($ENV{HTTP_REFERER}); # Redirect to the referer url
exit;
}
}
不幸的是,每當我嘗試發送新的頭文件時,它都只是以純文本形式接收。
任何幫助表示讚賞,在此先感謝。
您只能發送一個頭!您不能返回401和302(重定向)。你可以使用「http-equiv」或JS來讓瀏覽器重定向,但爲什麼只返回302? – ikegami