عرض مشاركة مفردة
 
  #3  
قديم 11-11-2004, 12:09 PM
عاشق مزنه عاشق مزنه غير متصل
عضو
 
تاريخ التسجيل: Nov 2004
مشاركة: 201
مستوى تقييم العضوية: 20
عاشق مزنه is on a distinguished road
الافتراضي 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('&amp;', '&', 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('&amp;', '&', 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);
انتهى.....

=-=-=-=-=-=-=-=-=-=-=

تحميل النسخة الجديدة

للتحميل الملف كامل اضغط هنا








وتقبل تحياتي على فكره هذا مجله + منتدى + دردشه بين الاعضاء + كتابه مقلات وكل شي لا ومكتبه صور وارشيف مقلات