Показать сообщение отдельно
Старый 04.01.2012, 02:56 Вверх   #10
Опытный пользователь
 
Аватар для FEARKILLER
FEARKILLER вне форума
Доп. информация
По умолчанию Fix for Comments Tags [Edit Post]

Цитата Сообщение от FEARKILLER Посмотреть сообщение
И ещё одна бага как бы, я давно её нашёл, наверное как только поставил, дело в том что когда модер\админ редактирует пост юзера и пишет в этом теге, после этого юзер не видит кнопку "редактировать", но ссылка то на редактирование поста работает, в расширенном режиме только)), то есть уберается только кнопка(картинка с ссылкой, но ссылка остаётся рабочей на редактирование этого поста), а если посмотреть ид поста и в ручную вписать ссылку в адресную строку, но мы отредактим пост после модера или админа, так же юзер увидит тег и может воспользоваться ими, хотя если профиксить как я написал, то толку от этого что юзер узнает код мало (((8
Вообщем начсёт кнопки, это по сути тоже бага, но её я править не буду, пусть автор уже пыжится с этим (х
Я было забил на этот баг в прошлый раз, но слишком "умные" юзеры напомнили мне про него и я решил исправить.

Объясняю подробнее суть баги:
После того как администратор/модератор отредактировал чей-нибудь пост, кнопка "редактировать" для автора этого поста пропадает, но ссылка на неё работает. К примеру адрес по которому можно будет отредактировать свой пост и например тупо удалить комментарий, тем самым напакостив:

_http://www.bormotuhi.net/editpost.php?do=editpost&p=284464

284464 - тут вписываем ид поста которое нужно отредактировать, ид поста узнать не трудно, если вы не ламер конечно же.

Я не долго думал и исправил это так:

Инструкция(Обновлено 06.01.2012):

Открываем файл: editpost.php

Находим:

PHP код:
// get decent textarea size for user's browser
$textareacols fetch_textarea_width(); 

Ниже добавляем:

PHP код:
// FEARKILLER // Disable edit post if found tags "ADMIN" or "MOD" in message [06.01.2012]
$finding_admin_or_mod_tag_disable_edit_post preg_match('/\\[(ADMIN|MOD)=("|"|\'|)(.*)\\2\\](.*)\\[\\/\\1\\]/siU'$postinfo['pagetext']); 

Находим:

PHP код:
if ($_REQUEST['do'] == 'editpost')


Ниже добавляем:

PHP код:
if ((in_array($vbulletin->userinfo['usergroupid'], explode(","$vbulletin->options['commtag_adm'])) OR in_array($vbulletin->userinfo['usergroupid'], explode(","$vbulletin->options['commtag_mod']))) OR ($vbulletin->options['commtag_onoff'] AND $vbulletin->options['commtag_edit'] AND $finding_admin_or_mod_tag_disable_edit_post != '1') OR ($vbulletin->options['commtag_onoff'] AND !$vbulletin->options['commtag_edit']) OR (!$vbulletin->options['commtag_onoff'] AND $vbulletin->options['commtag_edit']) OR (!$vbulletin->options['commtag_onoff'] AND !$vbulletin->options['commtag_edit'])){ 

Находим:

PHP код:
    eval('print_output("' fetch_template('editpost') . '");');



Заменяем на:

PHP код:
    eval('print_output("' fetch_template('editpost') . '");');

}
else
{
    
print_no_permission();
}


Сохраняем файл

############################
# Или можене взять готовый файл и просто заменить.
# Версия этого файла vBulletin 3.8.4, взято с чистого форума
# если у вас другая версия или есть изменения в этом файле,
# лучше воспользоваться инструкцией выше.
############################
# _http://depositfiles.com/files/5558v7cgo
############################


После фикса, если автор решит отредактировать пост с тегами администратора/модератора пройдя по ссылке слепленной своими ручками, увидит лишь:
=================================================

UserName, вы не имеете прав для доступа к этой странице. Это может быть вызвано несколькими причинами:
1. Блаблабла
2. Блаблабла
=================================================


После удаления хака, не забудьте отредактировать файл в исходное состояние!

Последний раз редактировалось FEARKILLER; 06.01.2012 в 08:07.. Причина: Изменён код ненужный удалён и добавлена ссылка на готовый отредактированный файл vB 3.8.4
  Ответить с цитированием
Cказали cпасибо:
 
Время генерации страницы 0.09759 секунды с 10 запросами