تحديث آخر نسخة 1.8.37

تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[جاهز للتحميل]فكرة دمج منتدى من نوع vbulletin الى منتدى mybb
#11
حتى لا اشتت الاذهان الذي اتمنى ان اتقنه هو الاتي:
1- اجراء امر ما على كلمة مرور بتشفير مختلف ليعمل على mybb
2- كيفية توليد ما يسمى بـ salt
[صورة: avatar_229590.gif?dateline=1412525966]
الرد
شكر من طرف :
#12
وجدت رابط يشرح الطريقة بـ vb.net و c#
http://www.obviex.com/samples/hash.aspx
لكن كيف نستخدمه؟؟؟
[صورة: avatar_229590.gif?dateline=1412525966]
الرد
شكر من طرف :
#13
كل محاولاتي بالروابط (باستثناء php) لم تنفع اما php لم اعرف طريقة لها كل الامنيات ان اجد طريقة بالدوت نت تناسب mybb
[صورة: avatar_229590.gif?dateline=1412525966]
الرد
شكر من طرف :
#14
اولا لا تيأس ثانيا من الممكن ان التشفير بيتم بثلاث مراحل md5 ثم base64 ثم md5 فهناك مبرمجين يقومو بذلك

وعلي كل فنحن نبحث لكي نصل للمراد ولاحظت شي باسكربت الدمج الجديد انه اصبح لا يدعم الفي بي 3 واصبح في بي 4

لان السابق كان به مجلد للفي بي 3 والان اصبح المجلد خاص بالفي بي 4 ولذلك اسماء الحقول متغييره بالبرمجه

فانا لم اجرب حتي الان تحويل منتديات في بي 3 الي الماي بي بي الجديده فمن الممكن انه دمجو الاتنين او لغو الفي بي 3

ولي عوده اخري بعد قراءه الردود الكثيره بتاعتك ههههه
الرد
شكر من طرف :
#15
ياخي انت انسان كلك بركة والله توصلت للحل 
شوف الدالة معروفة لكن طريقة استخدامها مع كود الحفظ للجدول هو الاشكال اللي ملعوزني كل اليوم..
الدالة هي:
كود :
Private Function getMD5Hash(ByVal strToHash As String) As String
        Dim md5Obj As New System.Security.Cryptography.MD5CryptoServiceProvider()
        Dim bytesToHash() As Byte = System.Text.Encoding.ASCII.GetBytes(strToHash)
        bytesToHash = md5Obj.ComputeHash(bytesToHash)
        Dim strResult As String = ""
        Dim b As Byte
        For Each b In bytesToHash
            strResult += b.ToString("x2")
        Next
        Return strResult
    End Function
الاستخدام كالتالي
كود :
txtpassword.Text = getMD5Hash(plaintxt.Text).Trim

والحفظ للجدول كالتالي:
كود :
Dim s As New MySqlCommand("update mybb_users set salt=@salt,password=@password where uid=@uid", con)
        s.Parameters.AddWithValue("@salt", "")
        s.Parameters.AddWithValue("@password", txtpassword.Text)
        s.Parameters.AddWithValue("@uid", uid.Text)
        If con.State = ConnectionState.Closed Then
            con.Open()
        End If
        Try
            s.ExecuteNonQuery()
            MsgBox("Done!", MsgBoxStyle.Information, "")
        Catch ex As Exception
            MsgBox(Err.Description, MsgBoxStyle.Critical, "")
        End Try

هذا لعل احد يستفيد منه
النقطة المتبقية هي كيفية تحويل التشفير القديم لجديد
[صورة: avatar_229590.gif?dateline=1412525966]
الرد
شكر من طرف :
#16
توضيح علي السريع بالنسبه لطريقه التشفير حين مشاهده اول رد ليك لموضوع بالموقع الاجنبي :

بالنسبه لتحليل هذا الكود الخاص بتشفر الباسورد :

كود :
/**
* Generates a random salt
*
* @return string The salt.
*/
function generate_salt()
{
   return random_str(8);
}

/**
* Salts a password based on a supplied salt.
*
* @param string The md5()'ed password.
* @param string The salt.
* @return string The password hash.
*/
function salt_password($password, $salt)
{
   return md5(md5($salt).$password);
}

$pass = $mybb->input['password'];

$md5pass = md5($pass);
$salt = generate_salt();

$salted_pass = salt_password($md5pass, $salt);


اولا ال salt يقوم بانشاء رقم عشوائي حين التسجيل او تغيير الباسورد ثم ياخذ الرقم ده ويضعه مع الباسورد ثم يقوم بالتشفير 

كود :
return md5(md5($salt).$password);


كما تلاحظ وضع اولا الرقم ثم الباسورد اللي ادخلته فاذا لو قام بأنشاء رقم عشوائي كمثال 1589 وصاحب العضويه الباسورد حقه هو 123123

بيصير الباسورد قبل التشفير هكذا 1589123123 ثم يقوم بعمليه التشفير يظهر مثلا kjh89y34thkjhg99wj وحين يريد الاستعاده يفصل الرقم ويظهر الباس الحقيقي

هذه هي فكره تشفير الماي بي بي لكي تكون واضحه لك بالنسبه للفي بي لسا ماحللتها فيجب عليك فهم الاتنين لكي تستطيع عمل برمجه تحويل

من هنا الي هنا لكي يعطيك الباس الحقيقي ولو الطريقه مختلفه فاكيد اسكربت الدمج به هذه الجزئيه ولي عووده حين وجود اي جديد
الرد
شكر من طرف :
#17
ابشرك اخي الكريم الان مسالة التشفير لمنتدى vbulletin 3,4 and mybb  الان سهلة فمنتدى Mybb كتبت الاكواد الخاصة بها اما منتدى vbulletin 3 و 4 فيكفي هكذا

كود :
UPDATE user set password = MD5(concat(MD5('new password'), user.salt)) WHERE userid=29
يتم تنفيذ هذا الاستعلام سواء عبر ادارة قواعد البيانات phpmyadmin او باي تطبيق اخر مثلما اطبق عليه


الان كيف اجعل كلمة المرور الخاصة بـ vbulletin تعمل دون تغيير؟؟
[صورة: avatar_229590.gif?dateline=1412525966]
الرد
شكر من طرف :
#18
لو اعرف المصطلح الصحيح لما اريد البحث عنه سيتوفر علي الكثير من الوقت والجهد, مترجم قوقل لم يسعفني بمافيه الكفاية.
[صورة: avatar_229590.gif?dateline=1412525966]
الرد
شكر من طرف :
#19
المشكلة اني لا اعرف المتغير من الثابت في لغة php .
يعني مثلا هذا
كود :
return md5(md5($salt).$password);
اين المتغير من الثابت اقصد بالثابت مثل كلمة function
[صورة: avatar_229590.gif?dateline=1412525966]
الرد
شكر من طرف :
#20
شوف حقولك تحليل الفكره اللي وصلت له حتي الان بالنسبه لهذا الامر

التشفير مادام وصلت لفكرته في الفي بي والماي بي بي فطريقه تحويله سهله لان العمليه بتم من خلال مكتبه md5 بالسيرفر

اللي وصلتله ان الفي بي بيستخدم طريقه ان الباسورد الاول.ثم رقم salt والماي بي بي عكس الطريقه

فعشان تحوله بالبرمجه بتقوم بسحب المعلومات من الفي بي في مصفوفه بيكون بداخلها معلومات الباسورد و salt لعضويه الفي بي

والماي بي بي مسوي ثلاث متغييرات وثلاث حقول زياده في جدول الاعضاء وهما :

passwordconverttype : وهذا لمعرفه نوع الاسكربت المطلوب تحويل باسورده وبتجد مكتوب به vb او vb3 او vb 4 والجميع واحد
passwordconverttype : ده الباسورد المشفر اللي تم سحبه من خلال المصفوفه بيسجل هنا
passwordconvertsalt ده رقم salt المشفر اللي تم سحبه من خلال المصفوفه بيسجل هنا

والحقل الخاص بالباسورد + salt في جدول اعضاء الماي بي بي بيتركه فارغ حتي يتم عمليه التحويل ثم يضع به الناتج

التحويل بيتم كما قولتلك انه بيرجع الكود المشفر لخانه الباسورد ويقوم بانشاء كود salt عشوائي جديد ويبدأ بتشفر الاثنين ويضعها بالحقلين الاساسين

لجدول اعضاء الماي بي بي password + salt ثم يقوم بحذف الثلاث حقول اللي قام بانشائهم عمليه التحويل للعلم تتم من خلال ملف loginconvert.php

وبالمشاركه القادمه بضع لك الاكواد التي اثبتت ذلك
الرد
شكر من طرف :


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم