2017-01-12 5 views
-2

アンドロイドを使用しているWordPressサイトでのユーザー認証に関するヘルプが必要です。私はログイン情報(電子メールとパスワード)を使ってWebサイトのPHPファイルにリクエストを送信しています。ファイルには、テーブルからdisplay_nameを私に与えるSQL文があります。今のところ良い。私は電子メールのアドレスを確認することができますが、それはうまく動作しますが、私は、データベース内のパスワードがハッシュされているので、私は大きな問題を抱く私のパスワードで(アプリケーションに入力)パスワードをwp - usersテーブルを分けたい。私はハッシュジェネレータにパスワードを入力して、同じものかどうかを確認しました。手伝って頂けますか?Wordpress DBを使用したAndroid Appユーザー認証

SQL:

SELECT display_name FROM wp_users WHERE user_email = "[email protected]" AND user_pass = "Test1234!"

メールアドレスとパスワードは一例であり、後に変数に置き換えられます。

+0

何ハッシュアルゴリズムは、PW、あなたのDBに保存されているハッシュするために使用されたのですか? – dfundako

+0

私は知らないが、その標準的なWordPressのアルゴリズム – ItsOdi1

答えて

0

これは私の質問に対する答えです。この回答は、wp-usersテーブルの寄託されたパスワードを使って変数からパスワードを確認する方法を示しています(私の例では、ユーザーが正しいパスワードを入力したかどうかを確認するためにログインします)。

<?php 
 
\t include_once('wp-includes/class-phpass.php'); 
 
\t include('wp-content/themes/storefront/db_connection.php'); //In my case I have a database connection php with my db login options 
 
\t $loginEmail = "[email protected]"; //You can replace it with a $_GET[] or $_POST[] variable 
 
\t $loginPassword = "yourpassword" \t //* 
 
\t $hasher = new PasswordHash(8, TRUE); 
 
\t 
 
\t //Checking if the $loginPassword equals the password in the wp_users database in Wordpress 
 
\t $password_result = mysqli_query($conn, "SELECT user_pass FROM wp_users WHERE user_email = '$loginEmail'"); 
 
\t if ($password_result->num_rows > 0) { 
 
\t \t while($row = $password_result->fetch_assoc()) { 
 
\t \t \t $hashPassword = $row["user_pass"]; 
 
\t \t } 
 
\t } else { 
 
\t \t //echo some error if no result 
 
\t } 
 
\t if($hasher->CheckPassword($loginPassword, $hashPassword)) { 
 
\t \t //Send you $loginPassword to Wordpress hasher to check if they are the same 
 
\t } else { 
 
\t \t //do something if passwords don't match 
 
\t } 
 
?>

+0

私に投票を与え、それが誰かを助けるなら答えとしてマークしてください:) – ItsOdi1

関連する問題