メールアドレスに + が含まれる場合にパスワード変更ができない

フォーラム バグ報告 メールアドレスに + が含まれる場合にパスワード変更ができない

  • このトピックには4件の返信、2人の参加者があり、最後にwkoichiにより8年、 4ヶ月前に更新されました。
5件の投稿を表示中 - 1 - 5件目 (全5件中)
  • 投稿者
    投稿
  • #76486
    wkoichi
    参加者

    会員がパスワードを忘れた際のパスワード再設定機能について、
    会員のメールアドレスに + が含まれる場合 (例: aaa+b@example.com ) 、パスワード再設定の通知メール本文内の URL にアクセスすると必ず「Invalid request 2」のメッセージが表示され、パスワード変更フォームが表示されません。

    原因は usc-e-shop/classes/usceshop.class.php の uscesmode_changepassword メソッド内で以下のようにHTTPリクエスト変数の値を urldecode 関数で URLデコードしていること、のように思われます。HTTPリクエスト変数の値はURLデコード済みであるはずですので、結果として二重にURLデコードしてしまっているのではないでしょうか。

    $mem_mail = urldecode($_REQUEST[‘mem’]);
    $lostkey = urldecode($_REQUEST[‘key’]);

    私の手元の環境では上記箇所で urldecode を噛ませないようにしたところ、問題のメールアドレスでも正常にパスワード再設定を完了できました。

    ご確認のほどよろしくお願い致します。

    ——————————————-
    WordPress のバージョン: 4.3.1
    Welcart のバージョン: 1.6.2
    ご利用のテーマ: welcartデフォルト
    症状を確認したブラウザ: chrome
    サーバー(会社名、サービス名):
    SSLの利用: 
    WordPress のパーマリンク設定:
    ——————————————–

    #76519
    kitamuuu
    参加者

    こんにちは。

    仰られている箇所ではメールに届いたURLリンクのパラメータから取得した値をurldecodeしている箇所ですので二重decodeという事にはなりえません。

    +つきのメールアドレスアカウントを作成できませんでしたので、こちらでは通常のメールアドレスでしか確認しておりませんが、「Invalid request 2」というエラーは古いリンクURLからアクセスした場合にも表示されますので、一番新しくメールに届いたリンクからアクセスしているかご確認いただけますでしょうか。

    #76521
    wkoichi
    参加者

    kitamuuuさん

    ご返信ありがとうございました。

    一番新しくメールに届いたリンクからアクセスしても「Invalid request 2」となります。

    二重decodeという事にはなりえません

    とありますが、$_REQUESTの値はPHPの処理系がその値をセットした時点でデコード済みになっているはずです。$_REQUESTの値を urldecode 関数でデコードしてしまうと通常は二重デコードになってしまいます。以下のPHPマニュアルを参照してみてください。
    http://php.net/manual/ja/function.urldecode.php

    • この返信は8年、 4ヶ月前にwkoichiが編集しました。
    #76525
    kitamuuu
    参加者

    wkoichiさん

    PHPのマニュアルも含め、改めて確認しましたところ仰る通り2重デコードされておりました。
    ご指摘ありがとうございます。

    この件はWelcartの次期バージョン1.6.4にて修正されますが、もし修正をお急ぎでしたら以下のURLより、リリース前の「Development Version」がzipでダウンロードできますので、そちらをダウンロードしてお使いください。
    (ダウンロードリンクは一番下にあります)

    https://wordpress.org/plugins/usc-e-shop/download/

    #76527
    wkoichi
    参加者

    ご確認ありがとうございました。
    次期バージョンのリリースを待ちたいと思います。

    お手数かけますが、ご対応のほどよろしくお願いします m(_ _)m

5件の投稿を表示中 - 1 - 5件目 (全5件中)
  • このトピックに返信するにはログインが必要です。