Модераторы: Sardar, Aliance

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Посчитать сколько раз находиться слово, Защита от спамеров. 
V
    Опции темы
Blaga
Дата 3.10.2007, 09:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


ЛамМер++
**


Профиль
Группа: Участник
Сообщений: 429
Регистрация: 15.11.2005
Где: г. Иркутск

Репутация: нет
Всего: 4



Недавно на форуме появилась проблема - спаммеры. Чтобы от них избавиться решил поставить простой фильтр на ява скрипт.
Суть скрипта - искать сколько раз в тексте всречаеться слово http:// 
Как это слово найти я понял. 
Код

document.post.message.value.indexOf("http://") != -1

а вот как посчитать сколько раз оно встречаеться не вкурил. Вообще если кому интересно то результат мне нужно скрестить со стандартной функцией phpBB
Код

function checkForm() {

    formErrors = false;

    

    if (document.post.message.value.length < 2 ) {
        formErrors = "Вы должны ввести текст сообщения";
    }

    if (formErrors) {
        alert(formErrors);
        return false;
    } else {
        bbstyle(-1);
        //formObj.preview.disabled = true;
        //formObj.submit.disabled = true;
        return true;
    }
}

Заранее спасибо всем кто откликнется.
з.ы. гугл результата не дал. (


--------------------

http://displayart.ru - Обои.
http://a2themes.ru - Сайт о движках DLE, phpBB3, WordPress.
PM MAIL ICQ   Вверх
cruelangel
Дата 3.10.2007, 09:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 319
Регистрация: 12.9.2007

Репутация: 4
Всего: 8



так ты от них не избавишься.
PM MAIL   Вверх
dsCode
Дата 3.10.2007, 10:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 565
Регистрация: 8.9.2007
Где: Saint-Petersburg

Репутация: 19
Всего: 26



Blaga, да, действительно, так от них не избавиться. Самый приемлемый способ на сегодня, это картинки для ввода кода (причем, сгенерированные не скриптом - такие любой хороший бот распознает, а самодельные, например "нарисовано (именно нарисованно, а не написано шрифтом) 2 + 3 = " - юзер должен ввести 5. Ну и т.д. У меня на сайте так сделано. Спама нет абсолютно. (В плане ботов, ну ручной спам не считается - для него модеры есть)). Или же вопросы-загадки. Как и для картинок, так и для загадок - хранится правильный ответ(ы). При отправке формы - проверяется заполненность этого поля и равенство правильному ответу.


--------------------
the .code inside
:my music
PM MAIL WWW ICQ Jabber   Вверх
Astraller
Дата 3.10.2007, 10:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 300
Регистрация: 1.8.2007
Где: $Украина[Кры м]->Феодосия

Репутация: 2
Всего: 5



Есть еще забавное решение - И картинка и input сажаются в dispay:none; и если поле таки заполнено - гарантированно бот ;)


--------------------
A.S.T.R.A.L.L.E.R.: Artificial Synthetic Technician Responsible for Assassination, Logical Learning and Efficient Repair
PM MAIL WWW ICQ   Вверх
Pokoinik
Дата 3.10.2007, 10:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 283
Регистрация: 17.3.2007
Где: /dev/null

Репутация: 1
Всего: 3



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

Добавлено через 1 минуту и 53 секунды
Astraller, на если хозяин бота пронюхает, то спама будет много... smile 



--------------------
ICQ: 490-993
Существует только 10 типов людей: те, которые понимают двоичную систему, и которые ее не понимают!!!
Опасайтесь людей верующих, ибо у них есть боги, которые им все прощают.

Делай или не делай! Никаких попробую!
Йода (Yoda), мастер-джедай
PM MAIL ICQ   Вверх
Blaga
Дата 3.10.2007, 10:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


ЛамМер++
**


Профиль
Группа: Участник
Сообщений: 429
Регистрация: 15.11.2005
Где: г. Иркутск

Репутация: нет
Всего: 4



это не боты а ручной спам. я знаю такие вещи как капча и прочее но мне нужно именно это решение. там люди сами постят. просто их доволно много каждый день человек по 5-10 это не критично но очень неприятно.

Так есть что нибудь по теме?


--------------------

http://displayart.ru - Обои.
http://a2themes.ru - Сайт о движках DLE, phpBB3, WordPress.
PM MAIL ICQ   Вверх
dsCode
Дата 3.10.2007, 11:38 (ссылка) |   (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 565
Регистрация: 8.9.2007
Где: Saint-Petersburg

Репутация: 19
Всего: 26



Pokoinik, 
Цитата(Pokoinik @  3.10.2007,  10:43 Найти цитируемый пост)
так логинящиеся юзеры еще и полезную работу делать будут, книгу набирать...

ага =) приятное с полезным )


Blaga, 
Цитата(Blaga @  3.10.2007,  10:53 Найти цитируемый пост)
это не боты а ручной спам

в любом случае - изображения с кодом - обязательно (пригодится, когда придет армия ботов). Ну а если ручной спам, тогда я понял, что Вы пытаетесь отловить, что юзер введет какую-нибудь ссылку более одного раза. Ну тут не в количестве слов дело (хотя и его получить не турдно), можно просто проверить:

Код

<script type="text/javascript">
var str = 'test http:// testss http:// ';
if (str.indexOf('http://') !== str.lastIndexOf('http://')) {
  alert([str.indexOf('http://'), str.lastIndexOf('http://')]);
}
</script>


Но это не спасет. Что мне мешает написать ссылку без "http://"? ввв.netlover.promodj.ru. Что мне мешает ввести ссылку (20 ссылок) не в поле для указания сайта, а в ФИО, Интересы и т.д.

Это сообщение отредактировал(а) dsCode - 3.10.2007, 11:39


--------------------
the .code inside
:my music
PM MAIL WWW ICQ Jabber   Вверх
AKS
Дата 3.10.2007, 11:47 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Участник форума
**


Профиль
Группа: Участник
Сообщений: 725
Регистрация: 20.9.2006

Репутация: 27
Всего: 52



Цитата(Blaga @  3.10.2007,  10:53 Найти цитируемый пост)
Так есть что нибудь по теме? 

"Попытайте счастья" как-нибудь так:
Код

var n = (document.post.message
                 .value.match(/https?:\u002F\u002F/g) || []).length;


Blaga, метод match возвращает массив совпадений с регвыром, а длина массива - это кол-во этих совпадений (регвыр с флагом g).


Это сообщение отредактировал(а) AKS - 3.10.2007, 11:56
PM MAIL   Вверх
Blaga
Дата 3.10.2007, 11:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


ЛамМер++
**


Профиль
Группа: Участник
Сообщений: 429
Регистрация: 15.11.2005
Где: г. Иркутск

Репутация: нет
Всего: 4



спамерам нафиг не нужны ссылки которые не кликабельные. им нужно что бы был обязательно реферер. Если его нет то они просто так будут свою работу делать. Они это прекрасно понимают и им это нафиг не нужно.

Добавлено через 7 минут и 14 секунд
dsCode, и что мне это дает? Мне нужно знать именно сколько раз это слово встретилось... 
AKS, не понял ваш код. (
 smile 


--------------------

http://displayart.ru - Обои.
http://a2themes.ru - Сайт о движках DLE, phpBB3, WordPress.
PM MAIL ICQ   Вверх
dsCode
Дата 3.10.2007, 12:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 565
Регистрация: 8.9.2007
Где: Saint-Petersburg

Репутация: 19
Всего: 26



Blaga, 
Цитата(Blaga @  3.10.2007,  11:48 Найти цитируемый пост)
и что мне это дает? Мне нужно знать именно сколько раз это слово встретилось...

ну тогда AKS Вам все расписал - в переменной n будет храниться длина полученного после рекЭкспа выражения (если слово не встретилось ни разу - будет пустой массив и соотвественно, пустая длина). Вот и получите количество слов. 


--------------------
the .code inside
:my music
PM MAIL WWW ICQ Jabber   Вверх
SelenIT
Дата 3.10.2007, 12:38 (ссылка) |   (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 49
Всего: 401



Для коллекции - вариант менее универсальный, чем у AKSа (хотя вряд ли спамеры будут рекламировать https-ссылки), но, возможно, несколько более простой для восприятия:
Код

var n = document.post.message.value.split('http://').length - 1;

Хотя вариант с регулярками, ИМХО, гораздо предпочтительнее.


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
cruelangel
Дата 3.10.2007, 13:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 319
Регистрация: 12.9.2007

Репутация: 4
Всего: 8



будет тот же спам, но все ссылки будут на разные подставные сайты.
PM MAIL   Вверх
SelenIT
Дата 3.10.2007, 13:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 49
Всего: 401



cruelangel,  smile 


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
cruelangel
Дата 3.10.2007, 13:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 319
Регистрация: 12.9.2007

Репутация: 4
Всего: 8



пример

Это сообщение отредактировал(а) cruelangel - 3.10.2007, 13:53
PM MAIL   Вверх
SelenIT
Дата 3.10.2007, 19:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 49
Всего: 401



cruelangel, имхо, с включенным JS не прокатит, а с отключенным не понадобится smile 


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1059 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.