Changeset 20845
- Timestamp:
- 2011/04/15 12:45:37 (15 years ago)
- Location:
- branches/version-2_11-dev/data/class
- Files:
-
- 3 edited
-
helper/SC_Helper_Customer.php (modified) (3 diffs)
-
pages/forgot/LC_Page_Forgot.php (modified) (1 diff)
-
util/SC_Utils.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
branches/version-2_11-dev/data/class/helper/SC_Helper_Customer.php
r20844 r20845 49 49 if(is_numeric($customer_id)) { 50 50 $salt = $objQuery->get('salt', "dtb_customer", "customer_id = ? ", array($customer_id)); 51 52 // 旧バージョン(2.11未満)からの移行を考慮 53 if (empty($salt)) $old_version_flag = true; 51 54 }else{ 52 55 $salt = SC_Utils_Ex::sfGetRandomString(10); … … 58 61 unset($array['password']); 59 62 } else { 63 // 旧バージョン(2.11未満)からの移行を考慮 64 if ($old_version_flag) { 65 $is_password_updated = true; 66 $salt = SC_Utils_Ex::sfGetRandomString(10); 67 $array['salt'] = $salt; 68 } 69 60 70 $array['password'] = SC_Utils_Ex::sfGetHashString($array['password'], $salt); 61 71 } … … 64 74 //更新しない 65 75 unset($array["reminder_answer"]); 76 77 // 旧バージョン(2.11未満)からの移行を考慮 78 if ($old_version_flag && $is_password_updated) { 79 // パスワードが更新される場合は、平文になっている秘密の質問を暗号化する 80 $reminder_answer = $objQuery->get('reminder_answer', "dtb_customer", "customer_id = ? ", array($customer_id)); 81 $array["reminder_answer"] = SC_Utils_Ex::sfGetHashString($reminder_answer, $salt); 82 } 66 83 } else { 67 $array["reminder_answer"] = SC_Utils_Ex::sfGetHashString($array["reminder_answer"], $salt); 84 // 旧バージョン(2.11未満)からの移行を考慮 85 if ($old_version_flag && !$is_password_updated) { 86 // パスワードが更新されない場合は、平文のままにする 87 unset($array['salt']); 88 } else { 89 $array["reminder_answer"] = SC_Utils_Ex::sfGetHashString($array["reminder_answer"], $salt); 90 } 68 91 } 69 92 -
branches/version-2_11-dev/data/class/pages/forgot/LC_Page_Forgot.php
r20764 r20845 204 204 and $result[0]['reminder'] == $arrForm['reminder']) { 205 205 206 if (SC_Utils_Ex::sfIsMatchHashPassword($arrForm['reminder_answer'], 206 $is_authorized = false; 207 if (empty($result[0]['salt'])) { 208 // 旧バージョン(2.11未満)からの移行を考慮 209 if ($result[0]['reminder_answer'] == $arrForm['reminder_answer']) { 210 $is_authorized = true; 211 } 212 } 213 elseif (SC_Utils_Ex::sfIsMatchHashPassword($arrForm['reminder_answer'], 207 214 $result[0]['reminder_answer'], $result[0]['salt'])) { 215 $is_authorized = true; 216 } 217 218 if ($is_authorized) { 208 219 // 秘密の答えが一致 209 220 // 新しいパスワードを設定する -
branches/version-2_11-dev/data/class/util/SC_Utils.php
r20841 r20845 2122 2122 } 2123 2123 } else { 2124 $hash = SC_Utils_Ex::sfGetHashString($pass, $salt); 2124 if (empty($salt)) { 2125 // 旧バージョン(2.11未満)からの移行を考慮 2126 $hash = sha1($pass . ":" . AUTH_MAGIC); 2127 } else { 2128 $hash = SC_Utils_Ex::sfGetHashString($pass, $salt); 2129 } 2125 2130 if($hash === $hashpass) { 2126 2131 $res = true;
Note: See TracChangeset
for help on using the changeset viewer.
