Redirect non-SSL hits to login & register actions to SSL if 'always' or 'sometimes' SSL modes are kicked in.
The forms would already submit to SSL, but people are happier if they start on a secure page! Note: this really should be done for sensitive/all URLs in index.php, but it seems a bit awkward to reconstruct the SSL version of the link atm. Cleanup todo!
This commit is contained in:
		@@ -62,6 +62,28 @@ class LoginAction extends Action
 | 
				
			|||||||
        return false;
 | 
					        return false;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * Prepare page to run
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
 | 
					     * @param $args
 | 
				
			||||||
 | 
					     * @return string title
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    function prepare($args)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        parent::prepare($args);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // @todo this check should really be in index.php for all sensitive actions
 | 
				
			||||||
 | 
					        $ssl = common_config('site', 'ssl');
 | 
				
			||||||
 | 
					        if (empty($_SERVER['HTTPS']) && ($ssl == 'always' || $ssl == 'sometimes')) {
 | 
				
			||||||
 | 
					            common_redirect(common_local_url('login'));
 | 
				
			||||||
 | 
					            // exit
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        return true;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * Handle input, produce output
 | 
					     * Handle input, produce output
 | 
				
			||||||
     *
 | 
					     *
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -74,6 +74,13 @@ class RegisterAction extends Action
 | 
				
			|||||||
        parent::prepare($args);
 | 
					        parent::prepare($args);
 | 
				
			||||||
        $this->code = $this->trimmed('code');
 | 
					        $this->code = $this->trimmed('code');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // @todo this check should really be in index.php for all sensitive actions
 | 
				
			||||||
 | 
					        $ssl = common_config('site', 'ssl');
 | 
				
			||||||
 | 
					        if (empty($_SERVER['HTTPS']) && ($ssl == 'always' || $ssl == 'sometimes')) {
 | 
				
			||||||
 | 
					            common_redirect(common_local_url('register'));
 | 
				
			||||||
 | 
					            // exit
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if (empty($this->code)) {
 | 
					        if (empty($this->code)) {
 | 
				
			||||||
            common_ensure_session();
 | 
					            common_ensure_session();
 | 
				
			||||||
            if (array_key_exists('invitecode', $_SESSION)) {
 | 
					            if (array_key_exists('invitecode', $_SESSION)) {
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user