0

アプリケーションをosCommerceショッピングカートと統合しており、ユーザーがosCommerceで行うのと同じアカウントの詳細でアプリにログインできるようにしたいと考えています。

すべて正常に動作しますが、ユーザーログインシステムでスタックしました。アプリケーションにユーザーが入力したパスワードをosCommerceユーザーの資格情報と照合する方法を知る必要があります。彼らはパスワードを生成するためにMD5とsaltの組み合わせを使用しています。

その方法を使用してユーザーのパスワードを確認するにはどうすればよいですか?

4

1 に答える 1

1

osCommerceに保存されているパスワードと照合するには、データベースに保存されているパスワードと照合するosCommerce関数を使用します。この関数は次の場所にあります。

カタログ/インクルード/関数/password_funcs.php

////
// This funstion validates a plain text password with an encrpyted password
function tep_validate_password($plain, $encrypted) {
  if (tep_not_null($plain) && tep_not_null($encrypted)) {
    // split apart the hash / salt
    $stack = explode(':', $encrypted);  

    if (sizeof($stack) != 2) return false;

    if (md5($stack[1] . $plain) == $stack[0]) {
      return true;
    }
  }
  return false;
}

したがって、入力した電子メールアドレスに基づいてcustomersテーブルからパスワード列を抽出して比較するだけです。

tep_validate_password(password_attempt, password_from_osC)

これを含める場合は、関数が定義されている場所であるcatalog / include / features/general.phpファイルも含めるようにしてください。tep_not_null

于 2011-06-01T20:57:20.180 に答える