Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 22.01.2023, 08:01
Профессор
Отправить личное сообщение для Ubivectel Посмотреть профиль Найти все сообщения от Ubivectel
 
Регистрация: 01.12.2020
Сообщений: 171

Антиспам (запрет англоязычных сообщений)
Здравствуйте товарищи кодеры!

Жутко надоел спам в чате. Единственное, что пока пришло в голову, запретить сообщения которые содержат больше скажем 30 английских символов. Обычно хотя бы логику того, что нужно сделать представляю, но сейчас в растерянности.
Итак, вот как выглядит сообщение:

<div id="KIDE_id_1000391" class="KIDE_msg_top">
  <span class="KIDE_msg_hour"> 9:34 -</span>
  <span title="22-1 9:34:16" oncontextmenu="event.preventDefault();kide.mensaje('Павлин_4861',0,1000391,'','22-1 9:34:16','e34629ab8eb3df87eb0230a6a380c2d2',3,'http://www.gravatar.com/avatar/9c083d94d6703024d615406e8b17a01c?s=50&amp;d=wavatar')" class="KIDE_guest">
                <span style="cursor: pointer" title="22-1 9:34:16" onclick="kide.insertSmile('Павлин_4861, ')"
                        class="KIDE_guest">Ник</span>: <span class="KIDE_dc_guest KIDE_msg">Текст сообщения</span>
  <i class="fa fa-reply qutes" title="Цитировать" aria-hidden="true"></i>
  <span class="hig K_copy"><i class="fa fa-clipboard" title="Копировать" aria-hidden="true"></i></span>
  </span>
</div>


Ответить с цитированием
  #2 (permalink)  
Старый 23.01.2023, 09:12
Профессор
Отправить личное сообщение для Ubivectel Посмотреть профиль Найти все сообщения от Ubivectel
 
Регистрация: 01.12.2020
Сообщений: 171

Хотя в целом логику наверное понимаю. Получить все span "KIDE_msg" проверить не содержат ли английские символы и если их больше n удалить содержащий его "IDE_msg_top" но как это будет выглядеть не представляю (

Попробовать и посмотреть можно тут: https://noviy-kovcheg.ru/chat
Ответить с цитированием
  #3 (permalink)  
Старый 23.01.2023, 09:47
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Ubivectel,
может чем-то поможет ...
document.addEventListener("DOMContentLoaded", function() {
            let textarea = document.querySelector(".KIDE_dc_guest");
            let reg = /[\w\s]{20,}/g;
            textarea.addEventListener("input", function() {
                reg.lastIndex = 0;
                if (reg.test(textarea.value)) textarea.value = 'чапаев и пустота'
            })
        })
Ответить с цитированием
  #4 (permalink)  
Старый 23.01.2023, 10:18
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,750

Сообщение от Ubivectel
проверить не содержат ли английские символы и если их больше n удалить содержащий его "IDE_msg_top"
n латинских букв подряд или всего?
Ответить с цитированием
  #5 (permalink)  
Старый 23.01.2023, 10:31
Профессор
Отправить личное сообщение для Ubivectel Посмотреть профиль Найти все сообщения от Ubivectel
 
Регистрация: 01.12.2020
Сообщений: 171

"n" имел ввиду именно количество латинских символов. То есть если спан class="KIDE_dc_guest KIDE_msg" содержит их например больше тридцати, то удалять содержащий его див class="KIDE_msg_top" В настоящий момент добавил скрипт предложенный рони, и хотя даже смутно пока не могу понять, что он должен делать, но ботов пока не видать ) Правда они набегами, тут только ждать
Ответить с цитированием
  #6 (permalink)  
Старый 23.01.2023, 11:06
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Сообщение от Ubivectel
что он должен делать, но ботов пока не видать )
введи текст на en побольше и увидишь
Ответить с цитированием
  #7 (permalink)  
Старый 23.01.2023, 11:11
Профессор
Отправить личное сообщение для Ubivectel Посмотреть профиль Найти все сообщения от Ubivectel
 
Регистрация: 01.12.2020
Сообщений: 171

Сообщение от рони Посмотреть сообщение
введи текст на en побольше и увидишь
похоже что-то делаю не так:

https://skrinshoter.ru/p/230123/Dtvq...2011:09:43.png
Ответить с цитированием
  #8 (permalink)  
Старый 23.01.2023, 11:34
Профессор
Отправить личное сообщение для Ubivectel Посмотреть профиль Найти все сообщения от Ubivectel
 
Регистрация: 01.12.2020
Сообщений: 171

Сообщение от voraa Посмотреть сообщение
n латинских букв подряд или всего?
Не подряд конечно, всего в сообщении
Ответить с цитированием
  #9 (permalink)  
Старый 23.01.2023, 11:44
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Сообщение от Ubivectel
похоже что-то делаю не так:
вроде верно
Ответить с цитированием
  #10 (permalink)  
Старый 23.01.2023, 11:48
Профессор
Отправить личное сообщение для Ubivectel Посмотреть профиль Найти все сообщения от Ubivectel
 
Регистрация: 01.12.2020
Сообщений: 171

Сообщение от рони Посмотреть сообщение
вроде верно
Добавил код в конец файла: https://noviy-kovcheg.ru/components/.../kidecustom.js

Однако боты проходят, а textarea дает вписывать en любой длинны
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Рассылка по мобильному мессенджеру Viber viberpromotion Работа 0 15.09.2015 15:17
как набить репутацию больше чем количество сообщений? EmperioAf Оффтопик 7 04.08.2015 14:54
Обновление не существующих сообщений ajax tayler882 AJAX и COMET 2 28.11.2012 17:13
Логика звукового уведомления о поступлении новых сообщений Триви AJAX и COMET 1 11.08.2011 02:13
Авто "объединение" последних сообщений ksa Сайт Javascript.ru 0 19.11.2010 11:58