رفتن به مطلب

مشکل در چک کردن رمز عبور


Mehdi-RaTo

ارسال‌های توصیه شده

سلام،

من یک PHP نوشتم و اون رو اتصال دادم به دیتا بیسی که انجمن رو روش نصب کردم.

کار این PHP این هستش که بصورت جداگانه چک می کنه ببینه فلان اکانت (بر اساس نام کاربری) رمز عبورش درست هست یا نه.

حالا یه مشکل دارم. پسورد های ذخیره شده توسط IPS روی دیتا بیس، رمز نگاری خاصی داره.

چطور رمز رو چک کنم ؟ رمز نگاری IPS چجوریه ؟

PHP زیر رو نوشتم:

<?php
ob_start();
$host="localhost"; // Host name 
$username="root"; // Mysql username 
$password=""; // Mysql password 
$db_name="IPBdb"; // Database name 
$tbl_name="core_members"; // Table name

// Connect to server and select databse.
mysql_connect("$host", "$username", "$password") or die(mysql_error());
echo "Connected to MySQL<br/>";
mysql_select_db("$db_name") or die(mysql_error());
echo "Connected to Database<br/>";

// Check
if(empty($_GET['username']))
{
    echo "UserName/Password is empty!";
    return false;
}
if(empty($_GET['password']))
{
    echo "Password is empty!";
    return false;
}

// Define
$username=$_GET['username']; 
$password=md5($_GET['pass']);

// Protect
$username = stripslashes($username);
$password = stripslashes($password);
$username = mysql_real_escape_string($username);
$password = mysql_real_escape_string($password);

$sql="SELECT * FROM $tbl_name WHERE name='$username' and members_pass_hash='$password'";
$result=mysql_query($sql);
$count=mysql_num_rows($result);

if ($count==1) {
    echo "Dorost !";
} else {
    echo "Ghalat !";
}

ob_end_flush();
?>

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

  • تیم مدیریت/توسعه دهنده

درود.

نمونه صحیح کد کردن کلمه عبور وارد شده و بررسی کردن آن با کلمه عبوری که در سیستم IPS استفاده شده است:

<?php
$salt = 'U2hPTZXRozc3OKLGYYq2re';
$password = 'hitman';
$user_entered_password = crypt( $password, '$2a$13$' . $salt );
?>

موردی که مطرح هست در کد بالا "salt$" هستش که باید این مقدار رو از دیتابیس و column با نام "member_pass_salt" به صورت String دریافت کنید و در کد بالا استفاده کنید.

خروجی کد بالا و کلمه عبور "hitman" برابر است با خروجی زیر که دقیقا درون پایگاه داده و column با نام "member_pass_hash" ذخیره شده است :

$2a$13$U2hPTZXRozc3OKLGYYq2reKdjS4nBk/j7onRJCsv3lDC3htIyxvAW

 

تصویر از پایگاه داده :

2017-04-09_18-34-39.png.62a26e8591bdd10ee2c95925f60262af.png

موفق باشید.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...