- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
admin/auth.php
r372 r356 23 23 $dlang = http::getAcceptLanguage(); 24 24 $dlang = ($dlang == '' ? 'en' : $dlang); 25 if ($dlang != 'en' && preg_match('/^[a-z]{2}(-[a-z]{2})?$/',$dlang))25 if ($dlang != 'en') 26 26 { 27 27 l10n::set(dirname(__FILE__).'/../locales/'.$dlang.'/main'); … … 90 90 $page_url.'?akey='.$recover_key; 91 91 92 $headers[] = 'From: '.(defined('DC_ADMIN_MAILFROM') && DC_ADMIN_MAILFROM ? DC_ADMIN_MAILFROM : 'dotclear@local');92 $headers[] = 'From: dotclear@'.$_SERVER['HTTP_HOST']; 93 93 $headers[] = 'Content-Type: text/plain; charset=UTF-8;'; 94 94 … … 126 126 } 127 127 # Change password and retry to log 128 elseif ($change_pwd) 129 { 130 try 131 { 132 $tmp_data = explode('/',$_POST['login_data']); 133 if (count($tmp_data) != 3) { 134 throw new Exception(); 135 } 136 $data = array( 137 'user_id'=>base64_decode($tmp_data[0]), 138 'cookie_admin'=>$tmp_data[1], 139 'user_remember'=>$tmp_data[2]=='1' 140 ); 141 if ($data['user_id'] === false) { 142 throw new Exception(); 143 } 144 128 elseif ($change_pwd and $data = unserialize(base64_decode($_POST['login_data']))) 129 { 145 130 # Check login informations 146 131 $check_user = false; … … 157 142 } 158 143 144 try 145 { 159 146 if (!$core->auth->allowPassChange() || !$check_user) { 160 147 $change_pwd = false; … … 179 166 $_SESSION['sess_browser_uid'] = http::browserUID(DC_MASTER_KEY); 180 167 181 if ($data['user_remember']) 168 if (!empty($data['blog_id'])) { 169 $_SESSION['sess_blog_id'] = $data['blog_id']; 170 } 171 172 if (!empty($data['user_remember'])) 182 173 { 183 174 setcookie('dc_admin',$data['cookie_admin'],strtotime('+15 days'),'','',DC_ADMIN_SSL); … … 202 193 if ($check_user && $core->auth->mustChangePassword()) 203 194 { 204 $login_data = join('/',array( 205 base64_encode($user_id), 206 $cookie_admin, 207 empty($_POST['user_remember'])?'0':'1' 208 )); 195 $login_data = base64_encode(serialize(array( 196 'user_id'=>$user_id, 197 'cookie_admin'=>$cookie_admin, 198 'blog_id'=>(!empty($_POST['blog']) ? $_POST['blog'] : ''), 199 'user_remember'=>!empty($_POST['user_remember']) 200 ))); 209 201 210 202 if (!$core->auth->allowPassChange()) {
Note: See TracChangeset
for help on using the changeset viewer.