فهرست منبع

#174 server audit improvements (php version check, disable_functions check, corrected translations)

Alex Trofimov 11 سال پیش
والد
کامیت
6fe39238ac

+ 1 - 1
modules/boonex/english/data/langs/system/en.xml

@@ -1403,7 +1403,7 @@ If it is not enabled then please consider implement this optimization, since it
 If it is not enabled then please consider implement this optimization, since it improve perceived site speed and save the bandwidth, refer to <a target="_blank" href="http://www.boonex.com/trac/dolphin/wiki/HostingServerSetupRecommendations#Usersidecachingforstaticcontent">this tutorial</a> on how to do this.<br />{1}]]></string>
 	<string name="_sys_audit_msg_value_checking_failed"><![CDATA[value checking failed]]></string>
 	<string name="_sys_audit_msg_version_is_incompatible"><![CDATA[your version is incompatible with Trident, must be at least {0}]]></string>
-	<string name="_sys_audit_msg_version_is_outdated"><![CDATA[your version is probably outdated, upgrade to the latest {0} maybe required]]></string>
+	<string name="_sys_audit_msg_version_is_outdated"><![CDATA[your version is outdated, upgrade to the latest {0} maybe required]]></string>
 	<string name="_sys_audit_permissions"><![CDATA[Files and folders permissions]]></string>
 	<string name="_sys_audit_php_accelerator"><![CDATA[PHP accelerator]]></string>
 	<string name="_sys_audit_php_setup"><![CDATA[PHP setup]]></string>

+ 2 - 2
modules/boonex/russian/data/langs/system/ru.xml

@@ -1403,7 +1403,7 @@
 Если он не задействован, тогда попробуйте применить эту оптимизацию, так как она улучшает скорость сайта и сохраняет трафик, обратитесь к <a target="_blank" href="http://www.boonex.com/trac/dolphin/wiki/HostingServerSetupRecommendations#Usersidecachingforstaticcontent">этому руководству</a>, чтобы узнать больше.<br />{1}]]></string>
 	<string name="_sys_audit_msg_value_checking_failed"><![CDATA[проверка значения не удалась]]></string>
 	<string name="_sys_audit_msg_version_is_incompatible"><![CDATA[Ваша версия несовместима с Trident, нужно как минимум {0}]]></string>
-	<string name="_sys_audit_msg_version_is_outdated"><![CDATA[Ваша версия скорее всего устарела, может потребоваться обновление до последней версии {0}]]></string>
+	<string name="_sys_audit_msg_version_is_outdated"><![CDATA[Ваша версия устарела, может потребоваться обновление до последней версии {0}]]></string>
 	<string name="_sys_audit_permissions"><![CDATA[Разрешения файлов и папок]]></string>
 	<string name="_sys_audit_php_accelerator"><![CDATA[PHP-акселератор]]></string>
 	<string name="_sys_audit_php_setup"><![CDATA[PHP-настройка]]></string>
@@ -2089,7 +2089,7 @@
 	<string name="_sys_txt_reset_pasword_error_occured"><![CDATA[Произошла ошибка, Пожалуйста <a href="{0}">попытайтесь снова</a>.]]></string>
 	<string name="_sys_txt_splash_btn_join"><![CDATA[Зарегистрироваться]]></string>
 	<string name="_sys_txt_splash_slide01_title"><![CDATA[Узнайте людей, которые раделяют Ваши увлечения]]></string>
-	<string name="_sys_txt_splash_slide01_desc"><![CDATA[Истории, идеи, фотографии, водео, вопросы, шутки, обсуждения, что угодно.<br />Следите за интересными людьми и будьте интересными для других.]]></string>
+	<string name="_sys_txt_splash_slide01_desc"><![CDATA[Истории, идеи, фотографии, видео, вопросы, шутки, обсуждения, что угодно.<br />Следите за интересными людьми и будьте интересными для других.]]></string>
 	<string name="_sys_txt_splash_slide02_txt"><![CDATA["Присядь на стул. Попробуй.<br />Зарегистрируйся. Жизнь такая<br />сладкая."]]></string>
 	<string name="_sys_txt_splash_slide03_txt"><![CDATA["Лучший способ завести друзей - быть кому-то другом."]]></string>
 	<string name="_sys_txt_splash_slide04_txt"><![CDATA[Уже один из нас?]]></string>

+ 9 - 11
studio/classes/BxDolStudioToolsAudit.php

@@ -17,7 +17,6 @@ class BxDolStudioToolsAudit extends BxDol
     protected $aType2ClassCSS;
     protected $aType2Title;
 
-    protected $aLatestPhp;
     protected $sMinPhpVer;
     protected $aPhpSettings;
     protected $iPhpErrorReporting;
@@ -47,10 +46,6 @@ class BxDolStudioToolsAudit extends BxDol
             BX_DOL_AUDIT_OK => _t('_sys_audit_title_ok'),
         );
 
-        $this->aLatestPhp = array(
-            '5.4' => '5.4.40',
-            '5.5' => '5.5.24',
-        );
         $this->sMinPhpVer = '5.3.0';
         $this->aPhpSettings = array (
             'allow_url_fopen' => array('op' => '=', 'val' => true, 'type' => 'bool'),
@@ -62,7 +57,7 @@ class BxDolStudioToolsAudit extends BxDol
             'register_globals' => array('op' => '=', 'val' => false, 'type' => 'bool'),
             'safe_mode' => array('op' => '=', 'val' => false, 'type' => 'bool'),
             'short_open_tag' => array('op' => '=', 'val' => true, 'type' => 'bool'),
-            'disable_functions' => array('op' => '=', 'val' => ''),
+            'disable_functions' => array('op' => 'without', 'val' => 'shell_exec,eval,assert,phpinfo,getenv,ini_set,mail,fsockopen,chmod,parse_ini_file'),
             'php module: mysql' => array('op' => 'module', 'val' => 'mysql'),
             'php module: curl' => array('op' => 'module', 'val' => 'curl'),
             'php module: gd' => array('op' => 'module', 'val' => 'gd'),
@@ -254,14 +249,11 @@ class BxDolStudioToolsAudit extends BxDol
             $aVer = array('type' => BX_DOL_AUDIT_UNDEF, 'msg' => _t('_sys_audit_msg_value_checking_failed'), 'params' => array ('real_val' => $sPhpVer));
         elseif (version_compare($sPhpVer, $this->sMinPhpVer, '<'))
             $aVer = array('type' => BX_DOL_AUDIT_FAIL, 'msg' => _t('_sys_audit_msg_version_is_incompatible', $this->sMinPhpVer), 'params' => array ('real_val' => $sPhpVer));
-        elseif (version_compare($sPhpVer, '5.6.0', '>=') && version_compare($sPhpVer, '6.0.0', '<') && !version_compare($sPhpVer, $sLatestPhpVersion, '>='))
+        elseif (version_compare($sPhpVer, '5.3.0', '>=') && version_compare($sPhpVer, '5.4.0', '<'))
             $aVer = array('type' => BX_DOL_AUDIT_WARN, 'msg' => _t('_sys_audit_msg_version_is_outdated', $sLatestPhpVersion), 'params' => array ('real_val' => $sPhpVer));
-        elseif (version_compare($sPhpVer, '5.5.0', '>=') && version_compare($sPhpVer, '5.6.0', '<') && !version_compare($sPhpVer, $this->aLatestPhp['5.5'], '>='))
-            $aVer = array('type' => BX_DOL_AUDIT_WARN, 'msg' => _t('_sys_audit_msg_version_is_outdated', $this->aLatestPhp['5.5']), 'params' => array ('real_val' => $sPhpVer));
-        elseif (version_compare($sPhpVer, '5.3.0', '>=') && version_compare($sPhpVer, '5.5.0', '<') && !version_compare($sPhpVer, $this->aLatestPhp['5.4'], '>='))
-            $aVer = array('type' => BX_DOL_AUDIT_WARN, 'msg' => _t('_sys_audit_msg_version_is_outdated', $this->aLatestPhp['5.4']), 'params' => array ('real_val' => $sPhpVer));
         else
             $aVer = array('type' => BX_DOL_AUDIT_OK, 'params' => array ('real_val' => $sPhpVer));
+
         $aMessages[_t('_sys_audit_version')] = $aVer;
 
         foreach ($this->aPhpSettings as $sName => $r) {
@@ -470,6 +462,12 @@ class BxDolStudioToolsAudit extends BxDol
         $mixedVal = $this->format_input ($mixedVal, $a);
 
         switch ($a['op']) {
+            case 'without':
+                $aFuncsDisabled = explode(',', $mixedVal);
+                $aFuncsMustBeEnabled = explode(',', $a['val']);
+                $a = array_intersect($aFuncsDisabled, $aFuncsMustBeEnabled);
+                $bResult = !$a;
+                break;
             case 'module':
                 $bResult = extension_loaded($a['val']);
                 $mixedVal = $bResult ? $a['val'] : '';