форум vBSupport.ru > vBSupport.ru > How-Tos, Hints & Tips > Статьи, обзоры, каталоги
Register Меню vBsupport Изображения Files Manager О рекламе Today's Posts Search
  • Родная гавань
  • Блок РКН снят
  • Premoderation
  • For English speaking users
  • Каталог Фрилансеров
  • If you want to buy some product or script
  • Администраторам
VBsupport перешел с домена .ORG на родной .RU Ура! Пожалуйста, обновите свои закладки - VBsupport.ru
Блок РКН снят, форум доступен на всей территории России, включая новые терртории, без VPN
На форуме введена премодерация ВСЕХ новых пользователей

Почта с временных сервисов, типа mailinator.com, gawab.com и/или прочих, которые предоставляют временный почтовый ящик без регистрации и/или почтовый ящик для рассылки спама, отслеживается и блокируется, а так же заносится в спам-блок форума, аккаунты удаляются
for English speaking users:
You may be surprised with restriction of access to the attachments of the forum. The reason is the recent change in vbsupport.org strategy:

- users with reputation < 10 belong to "simple_users" users' group
- if your reputation > 10 then administrator (kerk, Luvilla) can decide to move you into an "improved" group, but only manually

Main idea is to increase motivation of community members to share their ideas and willingness to support to each other. You may write an article for the subject where you are good enough, you may answer questions, you may share vbulletin.com/org content with vbsupport.org users, receiving "thanks" equal your reputation points. We should not only consume, we should produce something.

- you may:
* increase your reputation (doing something useful for another members of community) and being improved
* purchase temporary access to the improved category:
10 $ for 3 months. - this group can download attachments, reputation/posts do not matter.
20 $ for 3 months. - this group can download attachments, reputation/posts do not matter + adds eliminated + Inbox capacity increased + files manager increased permissions.

Please contact kerk or Luvilla regarding payments.

Important!:
- if your reputation will become less then 0, you will be moved into "simple_users" users' group automatically.*
*for temporary groups (pre-paid for 3 months) reputation/posts do not matter.
Уважаемые пользователи!

На форуме открыт новый раздел "Каталог фрилансеров"

и отдельный раздел для платных заказов "Куплю/Закажу"

Если вы хотите приобрести какой то скрипт/продукт/хак из каталогов перечисленных ниже:
Каталог модулей/хаков
Ещё раз обращаем Ваше внимание: всё, что Вы скачиваете и устанавливаете на свой форум, Вы устанавливаете исключительно на свой страх и риск.
Сообщество vBSupport'а физически не в состоянии проверять все стили, хаки и нули, выкладываемые пользователями.
Помните: безопасность Вашего проекта - Ваша забота.
Убедительная просьба: при обнаружении уязвимостей или сомнительных кодов обязательно отписывайтесь в теме хака/стиля
Спасибо за понимание
 
 
 
 
kerk
k0t
 
kerk's Avatar
Default Дублирование группы при редактировании (Duplicate usergroup)
1

кратко суть: при редактировании любой группы, создается новая группа, вместо обновления данных в только что отредактированной

подобные проблемы:
http://vbsupport.ru/forum/showthread.php?t=41151
http://vbsupport.ru/forum/showthread.php?t=27860
http://vbsupport.ru/forum/showthread.php?t=27371

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

проблема проявилась после обновления файловика с версии 1.1.0 до 2.1.3 на форуме одного из клиентов
но не в хаке дело, у других клиентов все в порядке (на саппорте в том числе)
что удалось выяснить методом научного тыка...
если я удаляю (либо переименовываю, что в данном случае одно и то же) файл битфилдов продукта, при переходе к редактированию, сначала происходит перестроение битфилдов и потом редирект к собственно редактированию
это нормально, так и должно быть
естессно пропадают настройки этого продукта, файл которого удалили
но сейчас описание процесса без удаления/переименования
==
при редактировании группы, в форме есть скрытые поля, которые добавляются функцией construct_hidden_code(), среди них есть и добавление поля usergroupid
PHP Code:
construct_hidden_code('usergroupid'$vbulletin->GPC['usergroupid']); 
генерится такой хтмл
HTML Code:
<input type="hidden" name="usergroupid" value="$usergroupid" />
ок, редактируем настройки прав
при нажатии кнопки "обновить", идет пост запрос
в пост запросе данные - массив usergroup и данные скрытого поля usergroupid
теперь самое интересное (дебаг)
если не удалять файл битфилда (наш случай - баг/косяк/глюк), то значение этого поля (usergroupid) всегда равно нулю (хотя в сорсе страницы я вижу правильное значение этого поля), соответственно вместо обновления данных, создается новая группа, с только что отредактированнными настройками
если удаляю файл битфилда, значение поля usergroupid нормальное, т.е. соотвествует ID группы, которую только что правил
перерыл файлы битфилдов от всех продуктов, несколько раз проверял свой файл, ошибок нет нигде
да и вобла ругалась бы матом, если бы в файле были ошибки, будь то синтаксис XML самого файла или ошибки в битовых полях

еще интересный момент
если удалить все файлы БФ других продуктов и оставить только вобловский и от файловика, то все нормально редактируется, но стоит вернуть файл БФ от любого из продуктов, как проблема возвращается
===

предполагаемая проблема: модуль Suhosin, который по каким то ведомым только ему причинам удаляет из запроса значение поля usergroupid
решение проблемы применительно к данному конкретному случаю
удалить модуль Suhosin с сервера и забыть как страшный сон
===

проверить, есть ли на сервере установленый модуль Suhosin, можно в админке, открыв информацию PHP Info
сделать поиск по странице по слову Suhosin

если у кого то есть еще мысли по этому вопросу или другое решение этой проблемы, отписывайтесь
Bot
Yandex Bot Yandex Bot is online now
 
Join Date: 05.05.2005
Реклама на форуме А что у нас тут интересного? =)
 
 
netwind
Гуру
 
netwind's Avatar
Default
0

Quote:
Originally Posted by kerk View Post
удалить модуль Suhosin с сервера и забыть как страшный сон
Вообще suhosin-ов два - патч и модуль. в debian/ubuntu патч навсегда, а модуль еще можно удалить. вероятно многие дистрибутивы в конце концов перейдут на suhosin.
Не очень понял, что ты тут описал и как это воспроизвести, но проблемы фильтрации suhosin я решаю увеличиванием post_max_size. Просто увеличь с большим запасом.
 
 
kerk
k0t
 
kerk's Avatar
Default
0

я не особо вдавался в подробности его интеграции в систему
была возможность удалить, грохнули
воспроизвести? да фик знает как...
сам столкнулся с этим впервые
раньше на этом же сервере и с другим набором хаков, все работало
вполне возможно, что кто то из админов ДЦ, на котором расположен сервак, что то менял в настройках системы, но настройки групп админы форума трогают редко, поэтому и не всплывало
=
Quote:
Originally Posted by netwind View Post
проблемы фильтрации suhosin я решаю увеличиванием post_max_size
почему же тогда он режет именно это поле?
там массив довольно объемный
 
 
netwind
Гуру
 
netwind's Avatar
Default
0

Quote:
Originally Posted by kerk View Post
почему же тогда он режет именно это поле?
там массив довольно объемный
ну может быть это поле последнее по порядку ?
 
 
kerk
k0t
 
kerk's Avatar
Default
0

я пробовал переносить это поле в разные места (редактировал файл) - нифига
единственный костыль, который работал нормально *:
вместо
PHP Code:
construct_hidden_code('usergroupid'$vbulletin->GPC['usergroupid']); 
добавляем это поле в массив
PHP Code:
construct_hidden_code('usergroup[usergroupid]'$vbulletin->GPC['usergroupid']); 
и затем сразу после
PHP Code:
// ###################### Start insert / update #######################
if ($_POST['do'] == 'update')
{
    
$vbulletin->input->clean_array_gpc('p', array(
        
'usergroup' => TYPE_ARRAY,
        
'ugid_base' => TYPE_INT,
    )); 
добавляем этот код
PHP Code:
if($vbulletin->GPC['usergroup']['usergroupid'] AND !$vbulletin->GPC['usergroupid'])
{
      
$vbulletin->GPC['usergroupid'] = $vbulletin->GPC['usergroup']['usergroupid'];
      unset(
$vbulletin->GPC['usergroup']['usergroupid']);

* - это значит, что проверялось только это значение, другие поля массива не тестировались, вполне возможно, что какая то часть резалась сукосином, но хотя бы новая группа не создавалась, а обновлялись данные
 
 
netwind
Гуру
 
netwind's Avatar
Default
0

там много разных фильтров в suhosin. жаль что не удалось подробнее изучить какой из них сработал.
 
 
kerk
k0t
 
kerk's Avatar
Default
0

для меня suhosin - это один из тех "зеленых человечков", которых хочется убить =)
поэтому, обнаружив "источник зла", грохнул его не разбираясь в подробностях
может сукосин и несет какую то полезную нагрузку, незнаю, но мне кажется от него больше вреда, чем пользы
 

Tags
duplicate usergroup, suhosin, дублирование группы, редактирование групп


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off




All times are GMT +4. The time now is 01:59 PM.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.