The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Новая критическая уязвимость в Joomla использована для совер..."
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Подсказка: Ссылки "<<" и ">>" открывают первые и последние 10 сообщений.
. "Новая критическая уязвимость в Joomla использована для совер..." +2 +/
Сообщение от Аноним (-), 15-Дек-15, 00:14 
https://github.com/PhilETaylor/Joomla1.5.999/commit/95741d8a...

@@ -697,39 +697,27 @@ function _validate( $restart = false )
            }
        }

-        // record proxy forwarded for in the session in case we need it later
-        if( isset( $_SERVER['HTTP_X_FORWARDED_FOR'] ) ) {
-            $this->set( 'session.client.forwarded', $_SERVER['HTTP_X_FORWARDED_FOR']);
-        }
-
-        // check for client adress
-        if( in_array( 'fix_adress', $this->_security ) && isset( $_SERVER['REMOTE_ADDR'] ) )
+        // Check for client address
+        if(in_array('fix_adress', $this->_security) && isset($_SERVER['REMOTE_ADDR']) && filter_var($_SERVER['REMOTE_ADDR'], FILTER_VALIDATE_IP) !== false)
        {
-            $ip    = $this->get( 'session.client.address' );
+            $ip = $this->get('session.client.address');

-            if( $ip === null ) {
-                $this->set( 'session.client.address', $_SERVER['REMOTE_ADDR'] );
+            if($ip === null)
+            {
+                $this->set('session.client.address', $_SERVER['REMOTE_ADDR']);
            }
-            else if( $_SERVER['REMOTE_ADDR'] !== $ip )
+            elseif($_SERVER['REMOTE_ADDR'] !== $ip)
            {
-                $this->_state    =    'error';
+                $this->_state = 'error';
+
                return false;
            }
        }

-        // check for clients browser
-        if( in_array( 'fix_browser', $this->_security ) && isset( $_SERVER['HTTP_USER_AGENT'] ) )
+        // Record proxy forwarded for in the session in case we need it later
+        if(isset($_SERVER['HTTP_X_FORWARDED_FOR']) && filter_var($_SERVER['HTTP_X_FORWARDED_FOR'], FILTER_VALIDATE_IP) !== false)
        {
-            $browser = $this->get( 'session.client.browser' );
-
-            if( $browser === null ) {
-                $this->set( 'session.client.browser', $_SERVER['HTTP_USER_AGENT']);
-            }
-            else if( $_SERVER['HTTP_USER_AGENT'] !== $browser )
-            {
-//                $this->_state    =    'error';
-//                return false;
-            }
+            $this->set('session.client.forwarded', $_SERVER['HTTP_X_FORWARDED_FOR']);
        }

        return true;

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Новая критическая уязвимость в Joomla использована для совер..., opennews, 14-Дек-15, 23:49  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру