SYSTEM_KDです。
タイトル長くなりましたが、先日の投稿で少しふれました、EC-CUBE2.13.3の不具合についての対処法についてです。
問題をおさらいしておきますと、EC-CUBE2.13.3において、パスワードの設定で記号を利用できるように改善されたのですが、その部分に不具合があり、会員登録時にパスワードを設定する際、マスクされた状態と同じ文字「******」をパスワードに設定すると、ログインができなくなるという問題です。
ソースを修正しなくても、パスワードリマインダーからパスワード再発行すればログインできるようになるのですが、簡単な修正で対応できますので、対応方法をのせてみます。
いきなりですが、修正するソースは
data/class/helper/SC_Helper_Customer.php になります。
修正方法ですが、上記ファイルの63行目を以下のように書き換えます。
//-- パスワードの更新がある場合は暗号化
if ($arrData['password'] == DEFAULT_PASSWORD or $arrData['password'] == '') {
//更新しない
unset($arrData['password']);
} else {
//-- パスワードの更新がある場合は暗号化
if (($arrData['password'] == DEFAULT_PASSWORD or $arrData['password'] == '') && is_numeric($customer_id)) {
//更新しない
unset($arrData['password']);
} else {
以上です。
変更内容としましては、新規の会員登録時は、パスワードの入力値が「******」の場合でも、パスワード値の登録処理をスキップせず処理するようにしただけです。
これで、パスワードに「******」を設定した場合も、ログインできるようになるかと思います。
まぁそもそも会員情報の変更では、上記の値にすることができないので、会員登録時限定の問題という大したこと無い話ではあります。
0 件のコメント:
コメントを投稿