Redirect to the homepage if we have a blank referer.

        Patch by wyntarvox. 

diffs (29 lines):

diff -r 0073e01d76e8 -r 92893d18c71b htdocs/login.bml
--- a/htdocs/login.bml  Wed Oct 21 19:07:36 2009 +0000
+++ b/htdocs/login.bml  Wed Oct 21 19:11:20 2009 +0000
@@ -360,10 +360,8 @@
                 return BML::redirect("$POST{'ref'}");
             } elsif ( $GET{'ret'} == 1 && LJ::check_referer() ) {
                 my $uniq = BML::get_request()->notes->{uniq};
-                if ($uniq) {
-                    LJ::MemCache::set("loginout:$uniq", 1, time() + 15);
-                }
-                return BML::redirect("$referer");
+                LJ::MemCache::set( "loginout:$uniq", 1, time() + 15 ) if $uniq;
+                return BML::redirect( $referer || "$LJ::SITEROOT/" );
             }
 
             LJ::set_remote($u);
diff -r 0073e01d76e8 -r 92893d18c71b htdocs/logout.bml
--- a/htdocs/logout.bml Wed Oct 21 19:07:36 2009 +0000
+++ b/htdocs/logout.bml Wed Oct 21 19:11:20 2009 +0000
@@ -51,7 +51,8 @@
             if ( $GET{'ret'} == 1 && LJ::check_referer() ) {
                 my $uniq = DW::Request->get->note('uniq');
                 LJ::MemCache::set( "loginout:$uniq", 1, time() + 15 ) if $uniq;
-                return BML::redirect( BML::get_client_header('Referer') );
+                my $referer = BML::get_client_header( 'Referer' );
+                return BML::redirect( $referer || "$LJ::SITEROOT/" );
             }
 
             # Redirect to offsite uri if allowed.
_______________________________________________
dw-changelog mailing list
[email protected]
http://lists.dwscoalition.org/mailman/listinfo/dw-changelog

Reply via email to