tolik777 Posted October 27, 2013 Share Posted October 27, 2013 В 3.3.4 у меня для некоторых подфорумов разрешено создавать и отвечать гостям. Однако некоторые индивидумы нашли способ спамить в другие подфорумы, даже если гостям не разрешено постить в них. ПОтом нашли как они это делают - прямой запрос к РНР. Подскажите, кто сталкивался с данной проблемой? Как закрыть этот баг? Link to comment Share on other sites More sharing options...
siv1987 Posted October 27, 2013 Share Posted October 27, 2013 Может гдето в коде забыли проверку добавить. Покажите как выглядит прямой запрос в php Link to comment Share on other sites More sharing options...
tolik777 Posted October 28, 2013 Author Share Posted October 28, 2013 В детали не вдавался, экспериментировал один из модераторов. По его словам можно постить в любой, даже закрытый подфорум зная только лишь ID темы, прямым запросом, что легко делается к примеру в опере. Что он собственно и продемонстрировал написав в закрытый форум, доступный только группе модераторов. Link to comment Share on other sites More sharing options...
siv1987 Posted October 28, 2013 Share Posted October 28, 2013 Да, уныло там получилось. Несмотря на обилие проверок, прошляпили момент с fid, либо не предусмотрели логику в classPost: setTopicId и setTopicData. Фикс http://ipbskins.ru/forum/topic12462.html#entry81858 И напишите багрепорт в IPS. Link to comment Share on other sites More sharing options...
Zero108 Posted October 28, 2013 Share Posted October 28, 2013 В 3.4.5 такой же баг или нет? Link to comment Share on other sites More sharing options...
siv1987 Posted October 28, 2013 Share Posted October 28, 2013 Как в 3.4.5 не знаю, но в 3.4.4 похоже тоже самое. Решить глобально проблему можно следующим образом: Открыть admin\applications\forums\sources\classes\post\classPost.phpНайти $topic = $this->DB->buildAndFetch( array( 'select' => '*', 'from' => 'topics', 'where' => 'tid=' . $this->getTopicID() ) ); заменить на $topic = $this->DB->buildAndFetch( array( 'select' => '*', 'from' => 'topics', 'where' => 'tid=' . $this->getTopicID() .' AND forum_id='.$this->getForumID() ) ); 1 Link to comment Share on other sites More sharing options...
Trotor Posted October 28, 2013 Share Posted October 28, 2013 В 3.1.4 такого бага не нашёл. Проверил. Link to comment Share on other sites More sharing options...
siv1987 Posted October 28, 2013 Share Posted October 28, 2013 В 3.1.4 такого бага не нашёл. Проверил.Да, в 3.1.4 нету, ибо они добавили тупую проверку /* Fetch topic if topic ID exists */ в replySetUp. Link to comment Share on other sites More sharing options...
Zero108 Posted October 28, 2013 Share Posted October 28, 2013 Как в 3.4.5 не знаю, но в 3.4.4 похоже тоже самое. Исправил в 3.4.5. Подскажите правильное описание бага на русском языке для баг-трекера, собираюсь запостить на английском языке ваше решение. Link to comment Share on other sites More sharing options...
siv1987 Posted October 28, 2013 Share Posted October 28, 2013 Исправил в 3.4.5.Сделайте лучше новое исправление. Имхо, это будет продолжении логики от 3.1 Link to comment Share on other sites More sharing options...
Zero108 Posted October 28, 2013 Share Posted October 28, 2013 Да, я уже заметил, что правка другая. Поменял на $topic = $this->DB->buildAndFetch( array( 'select' => '*', 'from' => 'topics', 'where' => 'tid=' . $this->getTopicID() .' AND forum_id='.$this->getForumID() ) ); Не совсем представляю, насколько глобален этот баг. Что можно было бы написать в баг-трекере? Link to comment Share on other sites More sharing options...
siv1987 Posted October 28, 2013 Share Posted October 28, 2013 Напишите, что пользователь, зная айди темы, может в ней отвечать даже закрытых для него разделах. Они поймут :) 1 Link to comment Share on other sites More sharing options...
Zero108 Posted October 28, 2013 Share Posted October 28, 2013 Главное, чтобы не взбрыкнули (они любят тянуть резину) и выпустили патч, тогда хакеры перехватят инициативу. Попробую отписать. Link to comment Share on other sites More sharing options...
Zero108 Posted October 28, 2013 Share Posted October 28, 2013 Готово Link to comment Share on other sites More sharing options...
siv1987 Posted October 28, 2013 Share Posted October 28, 2013 Users may post to topics they have no permission for posting to .If forum or topic is hidden then user gets a error message. Хм... это разве не одно и тоже? Ладно темы, но форумы разве можно запретить кроме через маски доступа?.. А баг не совсем критичный. 1 Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now