الترقية للإصدار الأمني vBulletin 3.8.7 PL5 و vBulletin 3.8.8 PL1

Fethi.dz

❞ لا خير فيـ كاتمـ علمـ ❝
طاقم الإدارة
إنضم
7 أوت 2006
المشاركات
3,511
النقاط
1,001
محل الإقامة
سكيكدة
الجنس
ذكر
السلام عليكم ورحمة الله وبركاته

في هذا الموضوع نتطرق للتحديث الأمني الذي صدر مؤخرا من شركة 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);    
    }
}
هذا ولله التوفيق لنا ولكم
 
Top