Вход в админку IPBoard зависает - Дизайн и модификация Invision Power Board

Перейти к содержимому

 

Правила раздела

Здесь обсуждаются вопросы по настройке и администрированию форумов IPB 3.x.
Пожалуйста, не оффтопьте, если зашли сюда случайно, и обратите внимание на соседние разделы.
Установка, настройка и обслуживание форумов IPB 2.x.
Оформление форумов, включая верстку скинов.
Размещение рекламы на форумах.
SEO оптимизация форума.
Техническая поддержка наших скинов и модов.

СвернутьПрикрепленные теги

Теги не найдены

Страница 1 из 1

Вход в админку IPBoard зависает

#1 Пользователь не на сайте   cyrax_02 ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 101
  • Регистрация: 19-Февраль 15
  • Репутация: 0
  • IPB version:3.4.x
 

Отправлено 11 Март 2016 - 13:50

В очередной раз попробовал зайти в админку форума - после ввода логина/пароля и нажатия кнопки "Ввод" сервер зависает (через 3 минуты - получаю ошибку таймаута). В логах сервера никаких ошибок нет, кроме 3-минутного таймаута.

Если под этим же логином/паролем (а также под любыми другими) зайти на форум, никаких проблем не возникает. Кукисы чистил. Проблема наблюдается в разных браузерах.

В результате локализации проблемного кода было определено, что в файле admin/sources/classes/output/formats/html/htmlOutput.php зависает команда [ @header( "Location: ".$url ); ] в [htmlOutput::silentRedirect()] (строка 555, в приведённом коде - внизу):

/**
	 * Silent redirect (Redirects without a screen or other notification)
	 *
	 * @access	public
	 * @param	string		URL
	 * @param	string		[SEO Title]
	 * @param	string		[Send a 301 redirect header first]
	 * @param	string		SEO Template
	 * @return	mixed
	 */
	public function silentRedirect( $url, $seoTitle='', $send301=FALSE, $seoTemplate='' )
	{

...

		if ( $this->settings['header_redirect'] == 'refresh' )
		{
			@header("Refresh: 0;url=".$url);
		}

		else if ( $this->settings['header_redirect'] == 'html' )
		{
			$url = str_replace( '&', '&', str_replace( '&', '&', $url ) );
			echo("<html><head><meta http-equiv='refresh' content='0; url=$url'></head><body></body></html>");
			exit();
		}
		else
		{
			@header( "Location: ".$url );
		}
		exit();
	}



Если убрать собаку, по-прежнему никаких ошибок в логах не появляется (кроме 3-минутного таймаута). Т.е. происходит именно зависание на этой команде. Непосредственно перед этим header Функция headers_sent() возвращает false

URL передаётся такой:
http://www.site.ru/forum/admin/index.php?adsess=b89e113fd5a465ea01806098ac5df83c

Если этот URL ввести в браузере непосредственно, то нормально загружается страница ввода логина/пароля.
В чём может быть проблема ?
0

#2 Пользователь не на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 8 292
  • Регистрация: 20-Март 09
  • Репутация: 2 090
  • IPB version:3.1.x
 

Отправлено 11 Март 2016 - 16:16

Такая проблема у нас была в 3.1x из-за проверки лицензии в /admin/applications/core/extensions/dashboardNotifications.php

Также может быть из-за запроса $ipsNewsData к www.invisionpower.com в /admin/applications/core/modules_admin/mycp/dashboard.php
В новых версиях больше не используется запрос к www.invisionpower.com/latestversioncheck/ipb30x.php? который заменен на external.ipslink.com/latestversioncheck/ipb30x.php?
1

#3 Пользователь не на сайте   cyrax_02 ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 101
  • Регистрация: 19-Февраль 15
  • Репутация: 0
  • IPB version:3.4.x
 

Отправлено 11 Март 2016 - 18:00

Оно самое.

В приведённом выше коде "перенаправил" код на ветку [ $this->settings['header_redirect'] == 'html' ] - в этом случае браузер получил ответ с [ meta http-equiv='refresh' ] и сразу же начал загрузку указанного в html/head url:
http://www.invisionpower.com/latestversioncheck/ipb30x.php?MzQwMTF8XnxodHRwOi8vd8d3LmthbmFzaC1pbmZvLnJ1L2NvbW13bml5eQ==


И вот на этом url сервер снова стал зависать. Если этот URL загрузить в браузере непосредственно, то сначала сервер отдаёт 301 редирект на этот же самый URL, а во второй раз отдаёт 404 страницу.

Что касается загрузки этой страницы в classFileManagement.php, то происходило следующее (curl у меня до сих пор не установлен, так что работал метод classFileManagement::_getContentsWithSocket()):

- первая загрузка URL выполнялась около 10 секунд (это время занял цикл while( ! feof($fp) && ! $status['timed_out']) )
- вторая загрузка этого же URL (после получения от сервера 301 редиректа на этот же URL) выполнялась минуты 2-2,5 (на что именно ушло это время - не отслеживал)
- после 2-й загрузки снова был получен редирект на этот же URL и - 3-я загрузка URL, которая по понятным причинам в 3 минуты уже не укладывается

Т.е. картина складывается так: на сокетах таймауты косячат (файл "classFileManagement.php" у меня пропатченный), в итоге 5 итераций циклических редиректов занимают более 3 минут (что за идиотизм выдавать 301 редирект на этот же URL ???).

Здесь можно сделать одно из 2:
- либо уменьшить число итреаций с 5 до 1 (в classFileManagement::_getContentsWithSocket())
- либо в \admin\applications\core\modules_admin\mycp\dashboard.php в методе doExecute() закомментировать 165 строку:
$ipsNewsData['vcheck'] = $classFileManagement->getFileContents( 'http://www.invisionpower.com/latestversioncheck/ipb30x.php?' . base64_encode( ipsRegistry::$vn_full.'|^|'.$this->settings['board_url'] ) );

Сделал 2-е. После этого нормально вошёл в админку.

Далее раскомментировал строку, сохранил (и в htmlOutput::silentRedirect() убрал заглушку). Т.е. весь код привёл к изначальному виду.
И по-прежнему нормально выхожу/захожу в админку. В т.ч. и в других браузерах. Я так понимаю это кэш IP.Board ? Т.е. когда время жизни кэша истечёт, проблема снова себя проявит ?
0

#4 Пользователь не на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 8 292
  • Регистрация: 20-Март 09
  • Репутация: 2 090
  • IPB version:3.1.x
 

Отправлено 11 Март 2016 - 23:48

Просмотреть сообщениеcyrax_02 сказал(а):

закомментировать строку:

Просмотреть сообщениеsiv1987 сказал(а):

В новых версиях больше не используется запрос к www.invisionpower.com/latestversioncheck/ipb30x.php? который заменен на external.ipslink.com/latestversioncheck/ipb30x.php?


Просмотреть сообщениеcyrax_02 сказал(а):

Я так понимаю это кэш IP.Board ? Т.е. когда время жизни кэша истечёт, проблема снова себя проявит ?

Если строка с проблемным запросом закомментирована - не появится.
0

#5 Пользователь не на сайте   avgaz ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 153
  • Регистрация: 28-Январь 08
  • Репутация: 5
  • IPB version:3.4.x
 

Отправлено 12 Март 2016 - 14:56

Да уж прикольно они нагнули владельцев тройки, то же ждал минут 5 загрузки, после загрузки. блок последних новостей с ips кривой и отображаемая страница не совместима со стилями админки и исправлять видимо и не собираются. И ещё прикол они убрали личный кабинет у себя, мне как владельцу тройки теперь не доступен даже лицензионный ключь от неё ))) веселые ребята
0

#6 Пользователь не на сайте   newbie ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins.ru Team
  • Сообщений: 2 166
  • Регистрация: 26-Октябрь 11
  • Репутация: 813
  • IPB version:I have no IPB
 

Отправлено 12 Март 2016 - 15:21

Просмотреть сообщениеavgaz сказал(а):

Да уж прикольно они нагнули владельцев троqки,

Кто Вас нагнул? Посмотрел 3.4.8 и 3.4.9 версии. Все ссылки исправлены.

Просмотреть сообщениеavgaz сказал(а):

И ещё прикол они убрали личный кабинет у себя, мне как владельцу тройки теперь не доступен даже лицензионный ключь от неё ))) веселые ребята

Все есть https://www.invision...ction=purchases
0

#7 Пользователь не на сайте   avgaz ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 153
  • Регистрация: 28-Январь 08
  • Репутация: 5
  • IPB version:3.4.x
 

Отправлено 12 Март 2016 - 15:31

Просмотреть сообщениеnewbie 12 Март 2016 - 15:21 сказал(а):

Кто Вас нагнул? Посмотрел 3.4.8 и 3.4.9 версии. Все ссылки исправлены.

Все есть https://www.invision...ction=purchases

У меня IP.Board 3.4.5 в 3.4.9 ссылка на какую страницу, что бы самому ручками поправить?
Вчера не чего не было и ссылка на клиентарену вела сюда https://invisionpower.com/clients/
0

#8 Пользователь не на сайте   newbie ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins.ru Team
  • Сообщений: 2 166
  • Регистрация: 26-Октябрь 11
  • Репутация: 813
  • IPB version:I have no IPB
 

Отправлено 12 Март 2016 - 15:37

Просмотреть сообщениеavgaz сказал(а):

У меня IP.Board 3.4.5 в 3.4.9 ссылка на какую страницу, что бы самому ручками поправить?

Во втором посте указана.

			if( strpos( $this->settings['base_url'], 'https://' ) !== false )
			{
				$ipsNewsData['news'] = $classFileManagement->getFileContents( 'https://external.ipslink.com/ipboard33/dashboard/index.php?v=' . ipsRegistry::$vn_full );
				$ipsNewsData['vcheck'] = $classFileManagement->getFileContents( 'https://external.ipslink.com/latestversioncheck/ipb30x.php?' . base64_encode( ipsRegistry::$vn_full.'|^|'.$this->settings['board_url'] ) );
			}
			else
			{
				$ipsNewsData['news'] = $classFileManagement->getFileContents( 'http://external.ipslink.com/ipboard33/dashboard/index.php?v=' . ipsRegistry::$vn_full );
				$ipsNewsData['vcheck'] = $classFileManagement->getFileContents( 'http://external.ipslink.com/latestversioncheck/ipb30x.php?' . base64_encode( ipsRegistry::$vn_full.'|^|'.$this->settings['board_url'] ) );
			}


Просмотреть сообщениеavgaz сказал(а):

Вчера не чего не было и ссылка на клиентарену вела сюда

Может исправили. Они там все перелопатили.
0

#9 Пользователь не на сайте   avgaz ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 153
  • Регистрация: 28-Январь 08
  • Репутация: 5
  • IPB version:3.4.x
 

Отправлено 12 Март 2016 - 21:16

Дак это на запрос последней версии, у меня то блок "Последних новостей" поплыл
0

#10 Пользователь не на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 8 292
  • Регистрация: 20-Март 09
  • Репутация: 2 090
  • IPB version:3.1.x
 

Отправлено 12 Март 2016 - 21:30

Мы вообщето обсуждаем долгую загрузку страницы при входе в админцентре, со своим блоком вы немного не в теме.
0

#11 Пользователь не на сайте   cyrax_02 ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 101
  • Регистрация: 19-Февраль 15
  • Репутация: 0
  • IPB version:3.4.x
 

Отправлено 15 Март 2016 - 14:39

Цитата

Я так понимаю это кэш IP.Board ? Т.е. когда время жизни кэша истечёт, проблема снова себя проявит ?

Да, через некоторое время проблема себя снова проявила. А до этого работал кэш админки.

Цитата

В новых версиях больше не используется запрос к www.invisionpower.com/latestversioncheck/ipb30x.php? который заменен на external.ipslink.com/latestversioncheck/ipb30x.php?

Исправил адрес - проблем пока не наблюдается...
0

#12 Пользователь не на сайте   Атаман ответил: »

 
 
  • Advanced
  • Смотреть блог
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins.ru Team
  • Сообщений: 2 070
  • Регистрация: 13-Апрель 12
  • Репутация: 314
  • Откуда:no
  • IPB version:1.x
 

Отправлено 15 Март 2016 - 14:44

Столкнулся в 3.4.5, спасибо за тему.
0

#13 Пользователь не на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 8 292
  • Регистрация: 20-Март 09
  • Репутация: 2 090
  • IPB version:3.1.x
 

Отправлено 27 Март 2016 - 16:15

Просмотреть сообщениеcyrax_02 сказал(а):

Исправил адрес - проблем пока не наблюдается...

Если совсем нужно избавится от запросов newsdata к ips, ниже
$ipsNewsData = $this->cache->getCache( 'ipsNewsData' );

добавить

$ipsNewsData = array( 'time' => time() );

0

Сообщить об этой теме:


Страница 1 из 1


Быстрый ответ

  

1 пользователей читают эту тему
0 зарегистрированных, 1 гостей, 0 скрытых


Контактная информация

Вопросы по работе сайта

+7 (917) 501-4765
C 10 до 20 в рабочие дни (время московское)

Техническая поддержка

Контактные данные специалистов

Дизайн форумов

IPB 3.x ¦ IPB 2.x

Бесплатные шаблоны

IPB 3.2 – 3.4 ¦ IPB 3.1 ¦ IPB 3.0 ¦ IPB 2.2 – 2.3 ¦ IPB 2.1 ¦ Клипарт
Лицензия на использование ¦ Ваша поддержка ¦ О проекте
Copyright © 2005-2016 IPBSkins.ru Team
При копировании материалов с сайта
прямая ссылка на источник обязательна