Make WordPress Core

Changeset 8701 for trunk/wp-login.php


Ignore:
Timestamp:
08/21/2008 05:40:38 PM (18 years ago)
Author:
ryan
Message:

Option to force SSL. see #7561

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-login.php

    r8600 r8701  
    408408case 'login' :
    409409default:
    410         if ( isset( $_REQUEST['redirect_to'] ) )
     410        $secure_cookie = '';
     411
     412        // If the user wants ssl but the session is not ssl, force a secure cookie.
     413        if ( !empty($_POST['log']) && !force_ssl_admin() ) {
     414                $user_name = sanitize_user($_POST['log']);
     415                if ( $user = get_userdatabylogin($user_name) ) {
     416                        if ( get_user_option('use_ssl', $user->ID) ) {
     417                                $secure_cookie = true;
     418                                force_ssl_admin(true);
     419                        }
     420                }
     421        }
     422
     423        if ( isset( $_REQUEST['redirect_to'] ) ) {
    411424                $redirect_to = $_REQUEST['redirect_to'];
    412         else
     425                // Redirect to https if user wants ssl
     426                if ( $secure_cookie )
     427                        $redirect_to = preg_replace('|^http://|', 'https://', $redirect_to);
     428        } else {
    413429                $redirect_to = admin_url();
    414 
    415         if ( is_ssl() && force_ssl_login() && !force_ssl_admin() && ( 0 !== strpos($redirect_to, 'https') ) && ( 0 === strpos($redirect_to, 'http') ) )
     430        }
     431
     432        if ( !$secure_cookie && is_ssl() && force_ssl_login() && !force_ssl_admin() && ( 0 !== strpos($redirect_to, 'https') ) && ( 0 === strpos($redirect_to, 'http') ) )
    416433                $secure_cookie = false;
    417         else
    418                 $secure_cookie = '';
    419434
    420435        $user = wp_signon('', $secure_cookie);
Note: See TracChangeset for help on using the changeset viewer.