هذا الموضوع يحتوي على 14 رد و مشاركَين وتمّ تحديثه آخر مرة بواسطة  الصاعقة قبل 3 سنوات، 8 شهور.

أضف رد جديد
الحالة: تم الحل
  • منشئ
    موضوع
  • #35183

    الصاعقة
    Participant

    السلام عليكم
    الحمد لله قمت بعملية تحويل منتديات vb إلى مدونة wp بكل نجاح والحمد لله اللي تم تحويله
    ☑ حل مشكلة الترميز
    ☑ الأعضاء
    ☑ المجموعات
    ☑ الأقسام
    ☑ المواضيع
    ☑ المرفقات
    ☑ الردود
    ☑ BBcode سواء للصندوق الإفتراضي أو الصندوق الماسي
    ☑ الروابط ( من خلال .htaccess )
    ☑ AFV Plugin لعرض المرفقات المحولة في المواضيع والردود

    مثل ما تعرفو انه طريقة تشفير الباسوردات تختلف من الـ vb والـ wp

    هل في طريقة اني أخلي تسجيل دخول بالمدونة بنفس باسورد الورد بريس

    ولو حتى نعدل على ملف تسجيل الدخول

    اذا احد عنده مساعدة أو ملاحظة ياليت ما يبخل علينا بيها

    ربما تحتاج خدمات ووردبريس مدفوعة؟ ندعوك لزيارة عرب ووردبريس بريميوم - الفرع التجاري الرسمي لموقع عرب ووردبريس.
مشاهدة 10 ردود - 1 حتى 10 (من مجموع 14)
  • الكاتب
    الردود
  • #35203

    sidati
    Participant

    صراحة لا أدري شيئا عن طريقة التشفير لدى الـ vbulletin لكن اذا استطعت ان تأتي بالدالة أو الكلاس الخاص بتشفير كلمات المرور فيمكنك دمجها مع الووردبريس واستعمالها للاعضاء القدامى بينما تستعمل تشفير الووردبريس للمسجلين الجدد

    #35208

    الصاعقة
    Participant

    صراحة لا أدري شيئا عن طريقة التشفير لدى الـ vbulletin لكن اذا استطعت ان تأتي بالدالة أو الكلاس الخاص بتشفير كلمات المرور فيمكنك دمجها مع الووردبريس واستعمالها للاعضاء القدامى بينما تستعمل تشفير الووردبريس للمسجلين الجدد

    إذا أوجدتها كيف راح أدمجها بالورد

    #35221

    sidati
    Participant

    فقط ضع الكود الخاص بها هنا و سأدلك على الطريقة الامثل ان شاء الله

    #35239

    الصاعقة
    Participant

    اخي طريقتهم تعتمد
    على salt ويكون مخزن بجدول الأعضاء بقاعدة المنتدى لكل عضو
    والكلمة اللي راح يدخلها اليوزر راح يشفرها md5
    والكل يتشفر md5 ويعمل له تحقق هل هو نفس التشفير اللي موجود بحقل password

    واتمنى الكود يوضح ما اقصده

    $pass_array['password']==md5( md5( $password ). $pass_array['salt'] ) );
    #35240

    الصاعقة
    Participant

    مثلا وقتها اقدر انقل salt من قاعدة vb إلى الورد بريس إلى جدول wp_usermeta

    #35254

    sidati
    Participant

    أحسنت، تلك هي الطريقة الأفضل، قم بنقل كل salt إلى جدول usermeta ويجب ان يكون كل سالت مربوطا بـ يوزر بالتزامن مع نقل كلمات المرور في الـ فيبي كما هي ووضعها في خانة الـ الباسوورد داخل جدول الاعضاء الخاص بالووردبريس، بعد ذلك تقوم من خلال الفيلتر check_password بعمل التحقق من كلمة المرور فقط في حالة الخطأ لأن اذا كان التحقق صحيحا فهذا بالطبع ليس عضو الفيبي بل هو عضو ووردبريس لان عضو الفيبي يجب ان تكون نتيجة التحقق خاطئة لاختلاف التشفير، فاذا كان التحقق يعطي نتيجة خطأ فـ “ربما” هذا من أعضاء الفيبي فتقوم بطلب السالت المخزن الخاص به باستعمال اسم المستخدم الذي ارسله.
    في حالة تم ارجاع السالت تقوم بتشفير كلمة المرور المرسلة بطريقة الفيبي ثم التحقق منها فاذا كان النتيجة صحيحة فعندها تقوم بتسجيل الدخول لكن ايضا تقوم بتحديث الباسوورد ليكون مشفرا بطريقة الووردبريس حتى لا يتم اعادة نفس الاجراء كلما دخل عضو الفيبي وعليه كل عضو فيبي يتم التحقق منه تتم اعادة تفشير باسوورده ليلائم الووردبريس، ثم عندئذ يمكنك حذف السالت من جدول اليوزرميتا.

    هذه هي الطريقة التي أرى أنها الأفضل حتى لا تخسر اعضائك ولا يخسرون هم ملفاتهم ومشاركاتهم، والله أعلم

    #35257

    الصاعقة
    Participant

    سؤالي الان أخي

    هل اقد اضيف عمليتين تحقق ع الباسورد

    بمعنى اذا دخل الباسورد يتحقق بطريقة الورد بريس العادية

    واذا كانت النتيجة خطأ ينتقل للتحقق بالطريقة الثانية الخاصة بالورد بريس

    وطبعها اذا تم التحقق وكانت النتيجة صح وقتها أحدث الباسورد المشفر إلى التشفير الخاص بالورد بريس

    اذا امكن توضح لي وشكرا لك

    #35263

    sidati
    Participant

    روعة الووردبريس تكمن في مقدرتك على التغيير في نواتها دون المس بالكود وذلك باعتماد ما يسمى الـ Hooks فمثلا الفيلتر الذي أعطبتك إياه :
    http://wpseek.com/hook/check_password/
    يقوم بإرجاع 4 متغيرات هي :
    – check : نتيجة التحقق
    – password : الباسوورد المرسل من طرف المستخدم
    – hash : الباسوورد الموجود في قاعدة البيانات (طبعا هو مشفر بالووردبريس وفي حالتك ربما الفيبي)
    – user_id : معرف العضو (لأن الووردبريس يتحقق أولا هل اسم المستخدم أو الإميل المدخل موجود فعلا ام لا. ثم اذا وجده قام بالتحق من الباسوورد وهذا المعرف هو الـ ID الخاص بذلك العضو )

    تقوم انت بوضع دالتك الخاصة والتي ستستقبل هذه المتغيرات ثم اقوم انت باجراءاتك الخاصة ويجب على دالتك ان تعيد نتيجة من نوع Boollean لأن هذه النتيجة هي التي ستعتمد عليه الووردبريس لتأكيد التحقق. وهذا هو الكود :

    https://gist.github.com/sidati/c4ed0d64363d8d6b49e3

    #35266

    الصاعقة
    Participant

    الله يسعدك انا قبل شوية جاي من الجامعة

    باذن الله غدا سأقوم ببرمجتها واتيك بالنتائج بس واضح من الكود انه حيشتغل مية المية

    #35291

    الصاعقة
    Participant

    عدلت الرد ظهرت معي مشكلة وان شاء الله احلها وارجع ارفع الكود الصحيح

    بارك الله فيك
    لكن لم تعمل

    لكن عدت بهيكليتها شوية

    /////////////////////////////////////////////////////////////////////////////////
    //  vbulletin   login check and Update passwords  //
    /////////////////////////////////////////////////////////////////////////////////
    	function vb_check($check) {
    		global $passAFV,$loginAFV,$wpdb;
    		$check =FALSE;
    		 
    		
    			$sql = "SELECT * FROM wp_users WHERE user_login ='$loginAFV'";
    			$m = $wpdb->get_results($sql) ; 
    
    			 foreach ($m as $res) {  $user_id = $res->ID;  $vb_pass= $res->user_pass;} // uder id and Hash of old pass
    
    			$salt = get_user_meta($user_id, 'salt', true);   // get salt
    
    			$vb_hash = md5(md5($passAFV) . $salt); // generate hash to check with old
    
    			if ($vb_pass == $vb_hash) {
    				$hashNew = md5( $passAFV );
    				wp_update_user(array(
    					'ID' => $user_id,
    					'user_pass' => $hashNew 
    				)); // Update password 
    				$delete_salt = delete_user_meta( $user_id, 'salt' ); // delete salt from database
    				return true;  //  authorization login
    			}
    		
    		return $check;  // worng password
    	}
    
    	
    	 if ( isset($_POST['wp-submit']) ){
    		$loginAFV = trim($_POST['log']);
    		$passAFV = $_POST['pwd'];
    		 add_filter('check_password', 'vb_check', 99);
    	}
    

    والحمد لله اشتغلت معي

مشاهدة 10 ردود - 1 حتى 10 (من مجموع 14)

يجب تسجيل الدخول للرد على هذا الموضوع.

الحالة: تم الحل