Make WordPress Core

Changeset 8701 for trunk/wp-login.php


Ignore:
Timestamp:
08/21/2008 05:40:38 PM (17 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.