التفاعل
			5.7K
		
	
		
			الجوائز
			1K
		
	- تاريخ الميلاد
 - 5 فيفري
 
- الوظيفة
 - مهندس كهرباء
 
- الحالة الإجتماعية
 - متزوج
 
- العمر
 - 35 إلى 40 سنة
 
- الجنس
 - ذكر
 
			السلام عليكم ورحمة الله وبركاته
 
في هذا الموضوع نتطرق للتحديث الأمني الذي صدر مؤخرا من شركة vBulletin لنسخة الجيل الثالث.
أولا : شرح الترقية لـ vBulletin 3.8.7 PL5 لأصحاب النسخ vB 3.8.7 PL4
ملفات الترقيع المحملة من الشركة تشمل التالي :
includes/functions.php
includes/functions_misc.php
includes/class_floodcheck.php
includes/class_dm_threadpost.php
includes/class_core.php
includes/init.php
includes/version_vbulletin.php
modcp/global.php
ملاحظة : قبل الشروع في عمل الترقيع احفظ نسخة احتياطية عن الملفات السابقة.
في ملف : functions.php
لا يوجد في الملف اي تعديل او تغيير
في ملف : functions_misc.php
لا يوجد في الملف اي تعديل او تغيير
في ملف : class_floodcheck.php
لا يوجد في الملف اي تعديل او تغيير
في ملف : class_dm_threadpost.php
لا يوجد في الملف اي تعديل او تغيير
في ملف : init.php
لا يوجد في الملف اي تعديل او تغيير
في ملف : version_vbulletin.php
نستبدل محتواه بالتالي :
		كود:
	
	<?php
define('FILE_VERSION_VBULLETIN', '3.8.7 Patch Level 5');
?>
	في ملف : global.php
نبحث عن :
		كود:
	
	$permissions = cache_permissions($vbulletin->userinfo, true);
$vbulletin->userinfo['permissions'] =& $permissions;
$cpsession = array();
	نضع مباشرة اسفله التالي :
		كود:
	
	$vbulletin->input->clean_array_gpc('p', array(
    'adminhash' => TYPE_STR,
));
	نبحث عن :
		كود:
	
	if ((!can_moderate() AND !can_moderate_calendar()) OR  ($vbulletin->options['timeoutcontrolpanel'] AND  !$vbulletin->session->vars['loggedin']) OR  empty($vbulletin->GPC[COOKIE_PREFIX . 'cpsession']) OR  $vbulletin->GPC[COOKIE_PREFIX . 'cpsession'] != $cpsession['hash'] OR  empty($cpsession))
{
    print_cp_login();
}
	نستبدله بالتالي :
		كود:
	
	if ((!can_moderate() AND !can_moderate_calendar()) 
    OR ($vbulletin->options['timeoutcontrolpanel'] AND !$vbulletin->session->vars['loggedin']) 
    OR empty($vbulletin->GPC[COOKIE_PREFIX . 'cpsession']) 
    OR $vbulletin->GPC[COOKIE_PREFIX . 'cpsession'] != $cpsession['hash'] 
    OR empty($cpsession)
    )
{
    print_cp_login();
}
else if ($_POST['do'] AND ADMINHASH != $vbulletin->GPC['adminhash'])
{
    if ($_POST['login_redirect'])
    {
        unset($_GET['do'], $_POST['do'], $_REQUEST['do']);
    }
    else
    {
        print_cp_login(true);    
    }
}
	ثانيا : شرح الترقية لـ vBulletin 3.8.8 PL1 لأصحاب النسخ vB 3.8.8
ملفات الترقيع المحملة من الشركة تشمل التالي :
includes/version_vbulletin.php
modcp/global.php
ملاحظة : قبل الشروع في عمل الترقيع احفظ نسخة احتياطية عن الملفات السابقة.
في ملف : version_vbulletin.php
نستبدل محتواه بالتالي :
		كود:
	
	<?php
define('FILE_VERSION_VBULLETIN', '3.8.8 Patch Level 1');
?>
	في ملف : global.php
نبحث عن :
		كود:
	
	$permissions = cache_permissions($vbulletin->userinfo, true);
$vbulletin->userinfo['permissions'] =& $permissions;
$cpsession = array();
	نضع مباشرة اسفله التالي :
		كود:
	
	$vbulletin->input->clean_array_gpc('p', array(
    'adminhash' => TYPE_STR,
));
	نبحث عن :
		كود:
	
	if ((!can_moderate() AND !can_moderate_calendar()) OR ($vbulletin->options['timeoutcontrolpanel'] AND !$vbulletin->session->vars['loggedin']) OR empty($vbulletin->GPC[COOKIE_PREFIX . 'cpsession']) OR $vbulletin->GPC[COOKIE_PREFIX . 'cpsession'] != $cpsession['hash'] OR empty($cpsession))
{
    print_cp_login();
}
	نستبدله بالتالي :
		كود:
	
	if ((!can_moderate() AND !can_moderate_calendar()) 
    OR ($vbulletin->options['timeoutcontrolpanel'] AND !$vbulletin->session->vars['loggedin']) 
    OR empty($vbulletin->GPC[COOKIE_PREFIX . 'cpsession']) 
    OR $vbulletin->GPC[COOKIE_PREFIX . 'cpsession'] != $cpsession['hash'] 
    OR empty($cpsession)
    )
{
    print_cp_login();
}
else if ($_POST['do'] AND ADMINHASH != $vbulletin->GPC['adminhash'])
{
    if ($_POST['login_redirect'])
    {
        unset($_GET['do'], $_POST['do'], $_REQUEST['do']);
    }
    else
    {
        print_cp_login(true);    
    }
}
	هذا ولله التوفيق لنا ولكم