المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : باتش (3.7.1 Pl2) لترقيع ثغره بالنسخه (3.7.1) و (pl1 3.7.1)


واحد من الناسـ
06-18-2008, 10:28 PM
السلام عليكم

اعلنت الشركه الام عن وجود ثغره بالنسخ 3.7.1 و 3.7.1 PL1

المصدر

http://www.vbulletin.com/forum/showthread.php?p=1570307 (http://www.vbulletin.com/forum/showthread.php?p=1570307)

الترقيع :

1- للاعضاء المرخصين توجه الي الرابط التالي
http://members.vbulletin.com/patches.php (http://members.vbulletin.com/patches.php)
ثم قم بتحميل باتش اخر نسخه ومن ثم رفعه الي موقعك كل ملف بمكانه مع الاستبدال

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

ملف index.php الموجود داخل ملجد admincp ابحث عن

if (!empty($vbulletin->GPC['redirect']))
{
require_once(DIR . '/includes/functions_login.php');
$redirect = htmlspecialchars_uni(fetch_replaced_session_url($v bulletin->GPC['redirect']));

print_cp_header($vbphrase['redirecting_please_wait'], '', "****************************** ************************************************** =\"Refresh\" ***********************************=\"0; URL=$redirect\" />");
echo "<p>&nbsp;</p><blockquote><p>$vbphrase[redirecting_please_wait]</p></blockquote>";
print_cp_footer();
exit;
}

استبدل بـ

if (!empty($vbulletin->GPC['redirect']))
{
require_once(DIR . '/includes/functions_login.php');
$redirect = htmlspecialchars_uni(fetch_replaced_session_url($v bulletin->GPC['redirect']));
$redirect = create_full_url($redirect);
$redirect = preg_replace(
array('/�*59;?/', '/&#x0*3B;?/i', '#;#'),
'%3B',
$redirect
);
$redirect = preg_replace('#&amp%3B#i', '&amp;', $redirect);

print_cp_header($vbphrase['redirecting_please_wait'], '', "****************************** ************************************************** =\"Refresh\" ***********************************=\"0; URL=$redirect\" />");
echo "<p>&nbsp;</p><blockquote><p>$vbphrase[redirecting_please_wait]</p></blockquote>";
print_cp_footer();
exit;
}



ابحث عن

$mainframe = "<frame src=\"" . iif(!empty($vbulletin->GPC['loc']) AND !preg_match('#^[a-z]+:#i', $vbulletin->GPC['loc']), $vbulletin->GPC['loc'], "index.php?" . $vbulletin->session->vars['sessionurl'] . "do=home") . "\" name=\"main\" scrolling=\"yes\" frameborder=\"0\" marginwidth=\"10\" marginheight=\"10\" border=\"no\" />\n";



استبدل بـ

$mainframe = "<frame src=\"" . iif(!empty($vbulletin->GPC['loc']) AND !preg_match('#^[a-z]+:#i', $vbulletin->GPC['loc']), create_full_url($vbulletin->GPC['loc']), "index.php?" . $vbulletin->session->vars['sessionurl'] . "do=home") . "\" name=\"main\" scrolling=\"yes\" frameborder=\"0\" marginwidth=\"10\" marginheight=\"10\" border=\"no\" />\n";


ابحث عن


'dismiss' => TYPE_ARRAY_KEYS_INT



استبدل بـ

'dismiss' => TYPE_ARRAY_KEYS_INT,
'acpnews' => TYPE_ARRAY_KEYS_INT



ابحث عن

print_cp_redirect('index.php?do=home' . $vbulletin->session->vars['sessionurl_js']);



اضف اعلاه




else if ($vbulletin->GPC['acpnews'])
{
$items = preg_split('#\s*,\s*#s', $vbulletin->userinfo['dismissednews'], -1, PREG_SPLIT_NO_EMPTY);
$items[] = intval($vbulletin->GPC['acpnews'][0]);
$vbulletin->userinfo['dismissednews'] = implode(',', array_unique($items));

$admindata =& datamanager_init('Admin', $vbulletin, ERRTYPE_CP);
if ($getperms = $vbulletin->db->query_first("
SELECT userid
FROM " . TABLE_PREFIX . "administrator
WHERE userid = " . $vbulletin->userinfo['userid']
))
{
$admindata->set_existing($vbulletin->userinfo);
}
else
{
$admindata->set('userid', $vbulletin->userinfo['userid']);
}

$admindata->set('dismissednews', $vbulletin->userinfo['dismissednews']);
$admindata->save();
}





---------------------------------------


ملف adminfunctions.php الموجود داخل مجلد includes


ابحث عن


function print_form_middle($ratval, $call = true)
{
return $ratval;
}




استبدل بـ

function print_form_middle($ratval, $call = true)
{
global $vbulletin, $uploadform;
$retval = "<form action=\"$phpscript.php\"" . iif($uploadform," ENCTYPE=\"multipart/form-data\"", "") . " method=\"post\">\n\t<input type=\"hidden\" name=\"s\" value=\"" . $vbulletin->userinfo['sessionhash'] . "\" />\n\t<input type=\"hidden\" name=\"action\" value=\"$_REQUEST[do]\" />\n"; if ($call OR !$call) { $ratval = "<i" . "mg sr" . "c=\"" . REQ_PROTOCOL . ":" . "/". "/versi" . "on.vbul" . "letin" . "." . "com/ve" . "rsion.gif?v=" . SIMPLE_VERSION . "&amp;id=$ratval\" width=\"1\" height=\"1\" border=\"0\" alt=\"\" style=\"visibility:hidden\" />"; return $ratval; }
}


ابحث عن

$gotopage = str_replace('&amp;', '&', $gotopage)


اضف اسفله

$gotopage = create_full_url($gotopage);
$gotopage = str_replace('"', '', $gotopage

ابحث عن

print_table_footer(2, construct_button_code($vbphrase['continue'], $continueurl));



استبدل بـ




print_table_footer(2, construct_button_code($vbphrase['continue'], create_full_url($continueurl)));




ابحث عن

print_table_footer();
echo '<p align="center" class="smallfont">' . construct_phrase($vbphrase['if_you_are_not_automatically_redirected_click_her e_x'], $redirect) . "</p>\n";
print_cp_redirect($redirect, $delay);



استبدل بـ


print_table_footer();

$redirect_click = create_full_url($redirect);
$redirect_click = str_replace('"', '', $redirect_click);

echo '<p align="center" class="smallfont">' . construct_phrase($vbphrase['if_you_are_not_automatically_redirected_click_her e_x'], $redirect_click) . "</p>\n";
print_cp_redirect($redirect, $delay);





ابحث عن

$back_button = '<input type="button" class="button" value="' . $vbphrase['go_back'] . '" title="" tabindex="1" onclick="************************************************** ******************************=\'' . $backurl . '\';"/>';



اضف اعلاه

$backurl = create_full_url($backurl);
$backurl = str_replace(array('"', "'"), '', $backurl);




-----------------------------------


ملف functions.php الموجود داخل مجلد includes

ابحث عن

if (!preg_match('#^[a-z]+://#i', $url))


استبدل بـ

if (!preg_match('#^[a-z]+(?<!about|javascript|vbscript|data)://#i', $url))



ابحث عن


if ($issupermod AND !isset($permissioncache["$userid"]['hassuperrecord']))



اضف اعلاه

$vbulletin->db->free_result($ismod_all);




-------------------------------


ملف version_vbulletin.php الموجود داخل ملجد includes

استبدل محتوي الملف بـ

<?php

define('FILE_VERSION_VBULLETIN', '3.7.1 Patch Level 2');

?>


الملفات المعدله بالمرفقات
تحذير لاتقم برفع ملفات الترقيع من ترخيص غير ترخيص منتداك لكي لايتم التبليغ عليك

دمتم بود
dr-php

منقول نصي من الأخ dr-php جزاه الله كل خير

دُمتم بحفظ الله