RSS Bot Опубликовано 25 октября, 2012 Поделиться Опубликовано 25 октября, 2012 (изменено) It has come to our attention that a security issue is present in IP.Board. We strongly recommend that you follow the instructions below to patch your community. Instructions This security update is a simple one file patch. Simply download the relevant zip file for your version. Expand the zip file and upload /admin/sources/base/core.php to your /admin/sources/base directory on your server ensuring that the file is overwritten. Please contact technical support if you're unsure how to update your community. The main download zips have been updated at the time of this announcement. IP.Board 3.3.x IP.Board 3.2.x IP.Board 3.1.x Thank you to Egidio Romano (aka EgiX) for reporting the issue and lending his assistance with the fix. Установка 1. Сообщение в АЦ появляется у всех независимо от версии IP.Board и от того, установлен фикс или нет. 2. Если у вас версия IP.Board 3.3.4 (неважно, русифицированная или нет) от меня и вы раньше не выполняли инструкции в статье и не знаете, что это такое, зачем оно надо и т.д., то: просто скачайте файл и закачайте папку admin из архива в корень вашего форума. 3. Если у вас версия IP.Board 3.3.x (русифицированная), то: 1. Скачайте архив. 2. Отредактируйте файл core.php вот так: Найдите: static public function encodeForXml( $string ) { if ( function_exists( 'mb_detect_encoding' ) ) { $encoding = mb_detect_encoding( $string ); if ( $encoding != 'UTF-8' ) { $string = IPSText::convertCharsets( $string, $encoding ); } } elseif ( strtolower( IPS_DOC_CHAR_SET ) == 'utf-8' ) { $string = utf8_encode( $string ); } return $string; } ниже вставьте: static public function transliterate( $text ) { return str_replace( array('а','б','в','г','д','е','ё','ж','з','и','й','к','л','м','н','о','п','р','с','т','у','ф','х','ц','ч','ш','щ','э','ю','я','ы','ь','ъ'), array('a','b','v','g','d','e','e','zh','z','i','i','k','l','m','n','o','p','r','s','t','u','f','h','c','ch','sh','sh','a','ju','ja','i','',''), $text); } static public function makeSeoTransliterate( $text ) { $text = urldecode($text); $text = self::transliterate( $text ); $text = preg_replace('#[^a-z0-9-]#', '', $text); $text = urlencode($text); return $text; } Внимание! Сохраните этот файл в кодировке UTF-8 БЕЗ BOM! По умолчанию он в кодировке ANSI, поэтому работать ничего не будет! Для того, чтобы сохранить файл в этой кодировке, скачайте программу Notepad++, откройте в ней этот файл (root/admin/sources/base/core.php) и выберите в верхнем меню Кодировки → Преобразовать в UTF-8 без BOM, после этого сохраните файл и закачайте к себе на сервер. Изменено 6 ноября, 2012 пользователем Respected Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
_Dark_ Опубликовано 25 октября, 2012 Поделиться Опубликовано 25 октября, 2012 В наш релиз 3.3.4 фикс встроил, для остальных — качаем по ссылке если у вас nulled илиесли у вас лицензионный IP.Board — качайте с официального сайта IPS, наоборот никак нельзя иначе будут проблемы с лицензией. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Владимир Опубликовано 25 октября, 2012 Поделиться Опубликовано 25 октября, 2012 Скачал ipb33_oct12.zip по ссылке из поста. Заменил, но сообщение не исчезает. Мб, нужно что-нибудь ещё сделать? Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Respected Опубликовано 25 октября, 2012 Поделиться Опубликовано 25 октября, 2012 Владимир, Какое сообщение? Prowler 1 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Caius Опубликовано 25 октября, 2012 Поделиться Опубликовано 25 октября, 2012 мне тоже скачивать файл из первого поста, версия 3.3.х не лицензия (не увидел кнопки загрузить изображение) Prowler 1 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Владимир Опубликовано 25 октября, 2012 Поделиться Опубликовано 25 октября, 2012 Владимир, Какое сообщение? Prowler 1 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Fever Опубликовано 25 октября, 2012 Поделиться Опубликовано 25 октября, 2012 После обновы выходит такая ошибка Fatal error: Call to undefined method IPSText::makeSeoTransliterate() in /var/www/forum.site.ru/core/sources/classes/output/publicOutput.php on line 2020 Версия 3.2.3 Prowler 1 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Riddick Опубликовано 25 октября, 2012 Поделиться Опубликовано 25 октября, 2012 Fever, такая же ошибка была и у меня, хорошо сделал копию файла core.РНР Тогда решил по менять этот core.РНР на более новый и проблема исчезла, ошибки нет форум работает, все ок. Ну а это сообщение в админ панели осталось : Posted Today, 10:13 AM POPULAR It has come to our attention that a security issue is present in IP.Board..... Возможно это объявление исчезнет позже. Или я не прав? мой движок Версия 3.2.2 Prowler 1 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Respected Опубликовано 26 октября, 2012 Поделиться Опубликовано 26 октября, 2012 Если файл заменён - сообщение должно исчезнуть, возможно чуть позже. У нас сообщение появилось не сразу, как вышел данный патч. Prowler 1 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
_Dark_ Опубликовано 26 октября, 2012 Поделиться Опубликовано 26 октября, 2012 1. Этот файл предназначен для английских версий 3.3.4, не от IBR. Чтобы убрать ошибку с makeSeoTransliterate нужно следовать инструкциям статьи. 2. Это сообщение не исчезнет, когда вы обновите этот файл. Все сообщения от IPS находятся в АЦ одну неделю. Владимир, Prowler, Respected и 1 другой 4 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Vikt0R Опубликовано 26 октября, 2012 Поделиться Опубликовано 26 октября, 2012 В наш релиз 3.3.4 фикс встроил, для остальных — качаем по ссылке если у вас nulled илиесли у вас лицензионный IP.Board — качайте с официального сайта IPS, наоборот никак нельзя иначе будут проблемы с лицензией. так для 3.3.3 (ваш русский) не нужен этот фикс? сообщение тоже появилось в админке. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
_Dark_ Опубликовано 26 октября, 2012 Поделиться Опубликовано 26 октября, 2012 1. Сообщение в АЦ появляется у всех независимо от версии IP.Board и от того, установлен фикс или нет. 2. Если у вас версия IP.Board 3.3.4 (неважно, русифицированная или нет) от меня и вы раньше не выполняли инструкции в статье и не знаете, что это такое, зачем оно надо и т.д., то: просто скачайте файл и закачайте папку admin из архива в корень вашего форума. 3. Если у вас версия IP.Board 3.3.x (русифицированная), то: 1. Скачайте архив. 2. Отредактируйте файл core.php вот так: Найдите: static public function encodeForXml( $string ) { if ( function_exists( 'mb_detect_encoding' ) ) { $encoding = mb_detect_encoding( $string ); if ( $encoding != 'UTF-8' ) { $string = IPSText::convertCharsets( $string, $encoding ); } } elseif ( strtolower( IPS_DOC_CHAR_SET ) == 'utf-8' ) { $string = utf8_encode( $string ); } return $string; } ниже вставьте: static public function transliterate( $text ) { return str_replace( array('а','б','в','г','д','е','ё','ж','з','и','й','к','л','м','н','о','п','р','с','т','у','ф','х','ц','ч','ш','щ','э','ю','я','ы','ь','ъ'), array('a','b','v','g','d','e','e','zh','z','i','i','k','l','m','n','o','p','r','s','t','u','f','h','c','ch','sh','sh','a','ju','ja','i','',''), $text); } static public function makeSeoTransliterate( $text ) { $text = urldecode($text); $text = self::transliterate( $text ); $text = preg_replace('#[^a-z0-9-]#', '', $text); $text = urlencode($text); return $text; } [/code] [color=#282828][font=Trebuchet MS', helvetica, arial, sans-serif][background=red][b]Внимание![/b][/background][/font][/color][color=#282828][font=Trebuchet MS', helvetica, arial, sans-serif] [/font][/color][color=#FF0000][font=Trebuchet MS', helvetica, arial, sans-serif][b]Сохраните этот файл в кодировке UTF-8 БЕЗ BOM! По умолчанию он в кодировке ANSI, поэтому работать ничего не будет! Для того, чтобы сохранить файл в этой кодировке, скачайте программу Notepad++, откройте в ней этот файл ([i]root/admin/sources/base/core.php) [/i]и выберите в верхнем меню [/b][i][b]Кодировки → Преобразовать в UTF-8 без BOM[/b][/i][b], после этого сохраните файл и закачайте к себе на сервер.[/b][/font][/color] [/spoiler] Prowler, Caius, Vikt0R и 1 другой 4 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Vikt0R Опубликовано 27 октября, 2012 Поделиться Опубликовано 27 октября, 2012 _Dark_, спасибо. но есть баг в такой доработке - пропадает авторизация через vkontakte никаких других ошибок вроде нет, но именно при возврате к старому файлу core.php возвращается кнопка вконтакте. и снова хелп! проверьте плииииииз PS речь о вашей IPB 3.3.3 rus Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Prowler Опубликовано 27 октября, 2012 Поделиться Опубликовано 27 октября, 2012 1. Сообщение в АЦ появляется у всех независимо от версии IP.Board и от того, установлен фикс или нет. 2. Если у вас версия IP.Board 3.3.4 (неважно, русифицированная или нет) от меня и вы раньше не выполняли инструкции в статье и не знаете, что это такое, зачем оно надо и т.д., то: просто скачайте файл и закачайте папку admin из архива в корень вашего форума. 3. Если у вас версия IP.Board 3.3.x (русифицированная), то: 1. Скачайте архив. 2. Отредактируйте файл core.php вот так: Найдите: static public function encodeForXml( $string ) { if ( function_exists( 'mb_detect_encoding' ) ) { $encoding = mb_detect_encoding( $string ); if ( $encoding != 'UTF-8' ) { $string = IPSText::convertCharsets( $string, $encoding ); } } elseif ( strtolower( IPS_DOC_CHAR_SET ) == 'utf-8' ) { $string = utf8_encode( $string ); } return $string; } ниже вставьте: static public function transliterate( $text ) { return str_replace( array('а','б','в','г','д','е','ё','ж','з','и','й','к','л','м','н','о','п','р','с','т','у','ф','х','ц','ч','ш','щ','э','ю','я','ы','ь','ъ'), array('a','b','v','g','d','e','e','zh','z','i','i','k','l','m','n','o','p','r','s','t','u','f','h','c','ch','sh','sh','a','ju','ja','i','',''), $text); } static public function makeSeoTransliterate( $text ) { $text = urldecode($text); $text = self::transliterate( $text ); $text = preg_replace('#[^a-z0-9-]#', '', $text); $text = urlencode($text); return $text; } [/code] [color=#282828][font=Trebuchet MS', helvetica, arial, sans-serif][background=red][b]Внимание![/b][/background][/font][/color][color=#282828][font=Trebuchet MS', helvetica, arial, sans-serif] [/font][/color][color=#FF0000][font=Trebuchet MS', helvetica, arial, sans-serif][b]Сохраните этот файл в кодировке UTF-8 БЕЗ BOM! По умолчанию он в кодировке ANSI, поэтому работать ничего не будет! Для того, чтобы сохранить файл в этой кодировке, скачайте программу Notepad++, откройте в ней этот файл ([i]root/admin/sources/base/core.php) [/i]и выберите в верхнем меню [/b][i][b]Кодировки → Преобразовать в UTF-8 без BOM[/b][/i][b], после этого сохраните файл и закачайте к себе на сервер.[/b][/font][/color] [/spoiler] Сделал все по инструкции. Пока, полет нормальный. :hi: Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Vikt0R Опубликовано 27 октября, 2012 Поделиться Опубликовано 27 октября, 2012 Prowler, у вас была авторизация через "вконтакте"? если да, не слетела? Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
_Dark_ Опубликовано 27 октября, 2012 Поделиться Опубликовано 27 октября, 2012 Исправление авторизации через Vk Открыть core.php, найти: /** * Checks to see if there is a template hook installed at the specified location * * * @param string $group * @param array $id * @return bool */ static public function locationHasHooks( $group, $ids ) { /* Return right away if we don't have an ids to check */ if( ! is_array( $ids ) || ! count( $ids ) ) { return false; } /* Reformat the cache on the first call, to save processing later */ static $formattedCache = array(); if( !isset($formattedCache[ $group ]) ) { $formattedCache[ $group ] = array(); $hookCache = ipsRegistry::cache()->getCache( 'hooks' ); if ( isset( $hookCache['templateHooks'][ $group ] ) AND is_array($hookCache['templateHooks'][ $group ]) AND count($hookCache['templateHooks'][ $group ]) ) { foreach( $hookCache['templateHooks'][ $group ] as $_hook ) { $formattedCache[ $group ][] = $_hook['id']; } } } /* Use formatted cache to check */ if( count( $formattedCache[ $group ] ) ) { foreach( $ids as $id ) { if( in_array( $id, $formattedCache[ $group ] ) ) { return true; } } } return false; } Ниже вставить: /** * Quickly determines if we've got VK enabled and set up * * @access public * @return boolean */ static public function vkontakte_enabled() { return ( ipsRegistry::$settings['vk_enabled'] AND ipsRegistry::$settings['vk_api_id'] AND ipsRegistry::$settings['vk_secret'] ) ? TRUE : FALSE; } [/code] [/spoiler] Найти: [spoiler] [code] /** * Quickly determines if we've got other log in enabled and set up * * @return boolean */ static public function loginMethod_enabled( $method ) { if ( ! count( self::$_lims ) ) { if ( is_array( ipsRegistry::cache()->getCache('login_methods') ) ) { $cache = ipsRegistry::cache()->getCache('login_methods'); foreach( $cache as $lim ) { self::$_lims[ $lim['login_folder_name'] ] = $lim['login_folder_name']; } } } switch( $method ) { case 'facebook': return self::fbc_enabled(); break; case 'twitter': return self::twitter_enabled(); break; default: return in_array( $method, self::$_lims ) ? true : false; break; } } [/code] [/spoiler] Заменить [spoiler][code] switch( $method ) { case 'facebook': return self::fbc_enabled(); break; case 'twitter': return self::twitter_enabled(); break; default: return in_array( $method, self::$_lims ) ? true : false; break; } [/code] [/spoiler] на: [spoiler] [CODE] switch( $method ) { case 'vkontakte': return self::vkontakte_enabled(); break; case 'facebook': return self::fbc_enabled(); break; case 'twitter': return self::twitter_enabled(); break; default: return in_array( $method, self::$_lims ) ? true : false; break; } [/code] [/spoiler] Сохранить. Не проверял, но работать должно. Vikt0R и alcone 2 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Vikt0R Опубликовано 27 октября, 2012 Поделиться Опубликовано 27 октября, 2012 профи! работает на русской 3.3.3 (кнопочка авторизации вконтакте на месте) PS чувствую с VK ещё намучаюсь... даже на 3.3.4 пока не могу из-за этой авторизации пересесть. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Prowler Опубликовано 27 октября, 2012 Поделиться Опубликовано 27 октября, 2012 в контакте не пользую.. Мафия, реальные маги IPB :hi: Respected 1 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
_Dark_ Опубликовано 28 октября, 2012 Поделиться Опубликовано 28 октября, 2012 Насчет Vk под 3.3.4: сейчас времени нет, но думаю в понедельник разберусь с этим и напишу статью об авторизации через Vk на версии 3.3.4. Vikt0R 1 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Xiloid Опубликовано 30 октября, 2012 Поделиться Опубликовано 30 октября, 2012 Не знаю глупый-ли вопрос, но неужели это такой важный фикс, что приходится потом пол форума восстанавливать? Что он латает? Какую уязвимость? Критичная ли она? Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Solar Опубликовано 30 октября, 2012 Поделиться Опубликовано 30 октября, 2012 Заменил, вылезла фатал ерор, и опять закинyл старый файл. Я почитал, и полyчается y меня на форyме и стоял новый файл? Просто BertT что y него когда старый файл ставил, тогда такая ошибка была, а я ставлю новый, который в теме и вылазит ошибка. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
_Dark_ Опубликовано 30 октября, 2012 Поделиться Опубликовано 30 октября, 2012 Не знаю глупый-ли вопрос, но неужели это такой важный фикс, что приходится потом пол форума восстанавливать? Что он латает? Какую уязвимость? Критичная ли она? Кто вас заставляет его ставить. Заменил, вылезла фатал ерор, и опять закинyл старый файл. Я для тех, кто не любит читать первую страницу темы в первое сообщение написал как устанавливать. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Solar Опубликовано 30 октября, 2012 Поделиться Опубликовано 30 октября, 2012 я прочитал всю тему до того как спросить. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
_Dark_ Опубликовано 30 октября, 2012 Поделиться Опубликовано 30 октября, 2012 я прочитал всю тему до того как спросить. Как тогда вы могли не заметить Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Solar Опубликовано 30 октября, 2012 Поделиться Опубликовано 30 октября, 2012 В этой статье много чего левого, то что ненадо. Раз вы добавили только один пункт. Темболее я незнаю даже что я делал и что бы получилось, заменив то все. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.