форум vBSupport.ru > vBulletin > vBulletin 3.8.x > Made in vBSupport.org 3.8
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'а физически не в состоянии проверять все стили, хаки и нули, выкладываемые пользователями.
Помните: безопасность Вашего проекта - Ваша забота.
Убедительная просьба: при обнаружении уязвимостей или сомнительных кодов обязательно отписывайтесь в теме хака/стиля
Спасибо за понимание
 
 
 
 
GiveMeABreak
Эксперт
 
GiveMeABreak's Avatar
Lightbulb Удаление личных сообщений с определенным текстом
9

Может быть кому-нибудь и пригодится, вобщем, хак удаляет личные сообщения с определенным текстом.

Например, вводим в настройках хака текст "test", и хак удалит все ЛС с этим текстом, причем все произойдет так, что пользователь вообще не заметит что ему кто то отправлял ЛС.

ЛС будут проверяться и удаляться сразу же, после отправки ЛС.

В самом коде хака, уже заложено что он будет автоматом сносить ЛС со словом porno, остальные слова прописывайте в настройках.

Установка:
1. Импоритовать продукт для вашей кодировки форума.
2. Включить и настроить хак в админке.

Обновление.
Добавлена поддержка добавление нескольких фраз, а не одной как было раньше
Исправлены уязвимости.
Attached Files
File Type: xml product-delete_pms_on_text_UTF-8.xml (3.2 KB, 25 views)
File Type: xml product-delete_pms_on_text_Win-1251.xml (3.0 KB, 57 views)

Last edited by GiveMeABreak : 07-28-2009 at 10:10 PM.
Bot
Yandex Bot Yandex Bot is online now
 
Join Date: 05.05.2005
Реклама на форуме А что у нас тут интересного? =)
 
 
kerk
k0t
 
kerk's Avatar
Default
1

посмотрел код хака
проверка слова (одного всего!):
PHP Code:
WHERE message LIKE '%" . $deltext . "%'"); 
==
предположим, что стоп-ворд = sex
а отправленное сообщение имеет такие слова: sexx, секс, порно, porno (и прочие)
в этом случае ЛС уйдет получателю
задумка неплохая, но реализация не ахти
 
 
Ghost
Гуру
 
Ghost's Avatar
Default
1

kerk, лично меня покоробило отсутствие экранирования этого самого $deltext -- а ну как я туда введу строку с апострофом внутри? :(

GiveMeABreak, на будущее: какой бы ты запрос не писал -- не вставляй строковые переменные в него as-is, а сперва прогоняй через функцию $vbulletin->db->escape_string (если не в вобле, то через mysql_real_escape_string). Иначе sql-инъекция и ай-ай-ай...
 
 
mad@Max
Эксперт
 
mad@Max's Avatar
Default
0

Кстати да, хорошая идея, так сказать борьба против спама лс)))
 
 
kerk
k0t
 
kerk's Avatar
Default
0

Quote:
Originally Posted by Ghost View Post
меня покоробило отсутствие экранирования этого самого $deltext
да и это тоже =)
просто пока рассматривал код хака, тут уже пару постов появилось
 
 
GiveMeABreak
Эксперт
 
GiveMeABreak's Avatar
Default
0

странно, почему $pm['pmid'] не работает на хуках private_insertpm_complete и private_insertpm_process

GiveMeABreak добавил 23.07.2009 в 18:41
хочу сделать вот так
PHP Code:
if($vbulletin->options['del_pms_on_text_on_off'])
{
$deltext explode(","$vbulletin->options['del_pms_on_text']);

if(
$vbulletin->options['del_pms_on_text'] AND (in_array($pm['message'], $deltext)))
  {
   
$vbulletin->db->query_write("DELETE FROM " TABLE_PREFIX "pm WHERE pmid = " $pm['pmid'] . "");
   
$vbulletin->db->query_write("DELETE FROM " TABLE_PREFIX "pmtext WHERE pmtextid = " $pm['pmid'] . "");

  }

но работать не хочет :(

Last edited by GiveMeABreak : 07-23-2009 at 07:41 PM. Reason: Добавлено сообщение
 
 
Ghost
Гуру
 
Ghost's Avatar
Default
1

'private_insertpm_process' -- pm еще не существует в базе и потому у него нет id. 'private_insertpm_complete' -- pm сохранено в базе, но его id не выбрано для дальнейшей обработки, т.к. незачем.
я бы юзал хук 'pmdata_presave', в котором проверял сообщение и выводил пользователю ошибку при помощи
PHP Code:
$this->error('имя фразы с текстом ошибки'); 
зачем удалять отправленное pm и обновлять счетчики пользователей, если можно просто запретить отправку?
 
 
GiveMeABreak
Эксперт
 
GiveMeABreak's Avatar
Default
0

Quote:
зачем удалять отправленное pm и обновлять счетчики пользователей, если можно просто запретить отправку?
ну это тоже как вариант
 
 
kerk
k0t
 
kerk's Avatar
Default
1

Quote:
Originally Posted by GiveMeABreak View Post
AND (in_array($pm['message'], $deltext)
не совсем правильное решение
т.к. переменная $pm['message'] может НЕ являться одним словом, соотв. и написанный текст нельзя проверить, находится ли он в массиве $deltext
пример:
PHP Code:
$stop_words = array('word1''word2''word3''word4',);
$pm['message'] = "word1 word3 word2 word4";
if(
in_array($pm['message'], $stop_words))
{
     print 
"In Array";
}
else
{
     print 
"NOT In Array";

и результат будет NOT In Array
и соответственно проверку пройдет
 
 
GiveMeABreak
Эксперт
 
GiveMeABreak's Avatar
Default
0

kerk, есть какие нибудь предложения?
 

Tags
личная почта, удаление личных сообщений


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 06:21 PM.


Powered by vBulletin® Version 3.6.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.