04.01.2012, 02:56
Вверх
|
#10
|
Опытный пользователь
Доп. информация
|
Регистрация: 30.05.2010
Адрес: local unit u="FEARKILLER (="
Сообщений: 30
Поблагодарил(а): 2
Поблагодарили: 34 / 20
|
|
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
|
|
|