phpBB2.0.10
السلام عليكم ورحمة الله وبركاته
اليوم تم الاعلان عن نسخة جديدة...وهي 2.0.10
صحيح لم تمضي 5 ايام من صدور 2.0.9 ...لكن هناك امور هامة دعت الى نسخة جديدة
وهي
اولاً: وجود مشاكل لمن يكون الـregister_globals فعالاً في خوادهم اي انه on
ثانياً : مشاكل لمن تكون الـmagic_quotes_gpc معطلة في خوادهم اي off
ثالثاً : ثغرة بسيطة ولا تصيب الخوادم التي تعمل على الـApache وهم الاغلب.
رابعاً : مشكلة في البحث عن مشاركات باسم العضو اذا كان اسمة يحوي زخارف ورموز غريبة
التعديلات والحلول اليدوية من 2.0.9 الى 2.0.10
في common.php
ابحث عن
كود:
// Unset globally registered vars - PHP5 ... hhmmm
if (@$ini_val('register_globals') == '1' || strtolower(@$ini_val('register_globals')) == 'on')
{
$var_prefix = 'HTTP';
$var_suffix = '_VARS';
$test = array('_GET', '_POST', '_SERVER', '_COOKIE', '_ENV');
foreach ($test as $var)
{
if (is_array(${$var_prefix . $var . $var_suffix}))
{
unset_vars(${$var_prefix . $var . $var_suffix});
}
if (is_array(${$var}))
{
unset_vars(${$var});
}
}
if (is_array(${'_FILES'}))
{
unset_vars(${'_FILES'});
}
if (is_array(${'HTTP_POST_FILES'}))
{
unset_vars(${'HTTP_POST_FILES'});
}
}
استبدلة بالتالي
كود:
// Unset globally registered vars - PHP5 ... hhmmm
if (@$ini_val('register_globals') == '1' || strtolower(@$ini_val('register_globals')) == 'on')
{
$var_prefix = 'HTTP';
$var_suffix = '_VARS';
$test = array('_GET', '_POST', '_SERVER', '_COOKIE', '_ENV');
foreach ($test as $var)
{
if (is_array(${$var_prefix . $var . $var_suffix}))
{
unset_vars(${$var_prefix . $var . $var_suffix});
@reset(${$var_prefix . $var . $var_suffix});
}
if (is_array(${$var}))
{
unset_vars(${$var});
@reset(${$var});
}
}
if (is_array(${'_FILES'}))
{
unset_vars(${'_FILES'});
@reset(${'_FILES'});
}
if (is_array(${'HTTP_POST_FILES'}))
{
unset_vars(${'HTTP_POST_FILES'});
@reset(${'HTTP_POST_FILES'});
}
}
// PHP5 with register_long_arrays off?
if (!isset($HTTP_POST_VARS) && isset($_POST))
{
$HTTP_POST_VARS = $_POST;
$HTTP_GET_VARS = $_GET;
$HTTP_SERVER_VARS = $_SERVER;
$HTTP_COOKIE_VARS = $_COOKIE;
$HTTP_ENV_VARS = $_ENV;
$HTTP_POST_FILES = $_FILES;
}
في ملف admin/admin_board.php
ابحث عن
كود:
$default_config[$config_name] = str_replace("'", "\'", $config_value);
استبدلة بالتالي
كود:
$default_config[$config_name] = isset($HTTP_POST_VARS['submit']) ? str_replace("'", "\'", $config_value) : $config_value
في admin/admin_styles.php
ابحث عن
كود:
require('./pagestart.' . $phpEx);
اضف بعده
كود:
$confirm = ( isset($HTTP_POST_VARS['confirm']) ) ? TRUE : FALSE;
$cancel = ( isset($HTTP_POST_VARS['cancel']) ) ? TRUE : FALSE;
البعض يشتكي من مشكلة في قائمة الانتقال المنسدلة في لوحة المراقبين
في ملف includes/functions.php
ابحث عن
كود:
if ( !empty($SID) )
{
$boxstring .= '<input type="hidden" name="sid" value="' . $userdata['session_id'] . '" />';
}
استبدلها بالتالي
كود:
// Let the jumpbox work again in sites having additional session id checks.
// if ( !empty($SID) )
// {
$boxstring .= '<input type="hidden" name="sid" value="' . $userdata['session_id'] . '" />';
// }
هناك ثغرة امنية لكنها لا تؤثر على مستخدمي الـApache وهم الاغلب....اما رقعها كالتالي
في ملف includes/functions.php
ابحث عن
كود:
if (!empty($db))
{
$db->sql_close();
}
اضف بعده
كود:
if (strstr(urldecode($url), "\n") || strstr(urldecode($url), "\r"))
{
message_die(GENERAL_ERROR, 'Tried to redirect to potentially insecure url.');
}
في ملف login.php
كود:
$redirect = ( !empty($HTTP_POST_VARS['redirect']) ) ? str_replace('&', '&', htmlspecialchars($HTTP_POST_VARS['redirect'])) : '';
$redirect = str_replace('?', '&', $redirect);
اضف بعده
كود:
if (strstr(urldecode($redirect), "\n") || strstr(urldecode($redirect), "\r"))
{
message_die(GENERAL_ERROR, 'Tried to redirect to potentially insecure url.');
}
ابحث عن
كود:
$redirect = ( !empty($HTTP_POST_VARS['redirect']) ) ? str_replace('&', '&', htmlspecialchars($HTTP_POST_VARS['redirect'])) : "";
$redirect = str_replace("?", "&", $redirect);
اضف بعده
كود:
if (strstr(urldecode($redirect), "\n") || strstr(urldecode($redirect), "\r"))
{
message_die(GENERAL_ERROR, 'Tried to redirect to potentially insecure url.');
}
البحث باسم بعض الاعضاء ذوي الرموز والزخارف الغريبة في اسمائهم لايعطي اي نتائج...وذلك بسبب وجود رموز غريبة في اسم العضو...الحل
في ملف search.php
ابحث عن
كود:
$search_author = ( isset($HTTP_POST_VARS['search_author']) ) ? $HTTP_POST_VARS['search_author'] : $HTTP_GET_VARS['search_author'];
اضف بعده
كود:
$search_author = htmlspecialchars($search_author);
انتهى.....
=-=-=-=-=-=-=-=-=-=-=
تحميل النسخة الجديدة
للتحميل الملف كامل اضغط هنا
وتقبل تحياتي
على فكره هذا مجله + منتدى + دردشه بين الاعضاء + كتابه مقلات وكل شي لا ومكتبه صور وارشيف مقلات