バグ報告 > フロント機能 > 【2.11.1】パスワード確認時に、数字のみで0から始まるパスワードは0を読まない |
フロント機能
スレッド表示 | 古いものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
shutta |
投稿日時: 2011/10/27 20:42
対応状況: 解決済
|
仙人 登録日: 2010/2/4 居住地: 関西 投稿: 835 |
Re: 【2.11.1】パスワード確認時に、数字のみで0から始まるパスワードは0を読まない EC-CUBE tracのチケット
http://svn.ec-cube.net/open_trac/ticket/1493#comment:4 の方で検証が取れたようなので、本スレッドも解決済みにしておきますね。
|
shutta |
投稿日時: 2011/10/20 20:06
対応状況: −−−
|
仙人 登録日: 2010/2/4 居住地: 関西 投稿: 835 |
Re: 【2.11.1】パスワード確認時に、数字のみで0から始まるパスワードは0を読まない 下記チェンジセットにて修正しておきました。
チェンジセット21290 http://svn.ec-cube.net/open_trac/changeset/21290 QAZUさんが示してくれたコードから問題部分が分かりましたので着想だけ頂いて、 コード自体は、シンプルに、 EQUAL_CHECK関数にて項目を比較する際に、 !=ではなく、!===で厳密に比較するように修正しておきました。
|
tao_s |
投稿日時: 2011/10/1 3:47
対応状況: −−−
|
仙人 登録日: 2008/8/20 居住地: 東京 投稿: 804 |
Re: 【2.11.1】パスワード確認時に、数字のみで0から始まるパスワードは0を読まない ありがとうございます。
チケット登録しておきました。 http://svn.ec-cube.net/open_trac/ticket/1493
|
QAZU |
投稿日時: 2011/9/29 17:10
対応状況: −−−
|
半人前 登録日: 2007/3/7 居住地: 投稿: 26 |
【2.11.1】パスワード確認時に、数字のみで0から始まるパスワードは0を読まない 会員登録・登録内容変更時のパスワードを確認するロジックで、パスワード欄に0から始まる数字、例えば「0001」と入れた場合、「1」と認識し、確認欄に「1」と入れても確認画面へ行ける。
弊社エンジニアに見てもらい、下記の赤字部分を追加して対処いたしました。 data/class/SC_CheckError.php /** * 同一性の判定 password * * 入力が指定文字数以上ならエラーを返す * @param array $value value[0] = 項目名1 value[1] = 項目名2 value[2] = 判定対象文字列1 value[3] = 判定対象文字列2 * @return void */ function EQUAL_CHECK_PASSWORD( $value ) { if(isset($this->arrErr[$value[2]]) || isset($this->arrErr[$value[3]])) { return; } $this->createParam($value); // 文字数の取得 if( 'a' . $this->arrParam[$value[2]] != 'a' . $this->arrParam[$value[3]]) { $this->arrErr[$value[2]] = "※ " . $value[0] . "と" . $value[1] . "が一致しません。<br />"; } } data/class/helper/SC_Helper_Customer.php /** * 会員登録編集共通の相関チェック * * @param SC_CheckError $objErr SC_CheckError インスタンス * @param boolean $isAdmin 管理画面チェック時:true * @return SC_CheckError $objErr エラー情報 */ function sfCustomerRegisterErrorCheck(&$objErr, $isAdmin = false) { $objErr->doFunc(array("生年月日", 'year', 'month', 'day'), array("CHECK_BIRTHDAY")); if (SC_Display_Ex::detectDevice() !== DEVICE_TYPE_MOBILE){ if(!$isAdmin) { $objErr->doFunc(array('パスワード', 'パスワード(確認)', 'password', "password02") ,array("EQUAL_CHECK_PASSWORD")); $objErr->doFunc(array('メールアドレス', 'メールアドレス(確認)', 'email', "email02") ,array("EQUAL_CHECK")); } $objErr->doFunc(array("FAX番号", "fax01", "fax02", "fax03") ,array("TEL_CHECK")); } if(!$isAdmin) { // 現会員の判定 → 現会員もしくは仮登録中は、メアド一意が前提になってるので同じメアドで登録不可 $objErr->doFunc(array("メールアドレス", 'email'), array("CHECK_REGIST_CUSTOMER_EMAIL")); $objErr->doFunc(array("携帯メールアドレス", 'email_mobile'), array("CHECK_REGIST_CUSTOMER_EMAIL", "MOBILE_EMAIL_CHECK")); } return $objErr; } ご報告まで。 |
スレッド表示 | 古いものから | 前のトピック | 次のトピック | トップ |