| Модератор форума: JonMagon |
| Сообщество uCoz Вебмастеру JavaScript, Flash и прочие технологии Тема для тех, кому надоел спам на их сайтах (как бороться со спамом) |
| Тема для тех, кому надоел спам на их сайтах |
|
Всем привет, с недавнего времени, примерно 2 месяца назад, на один из моих сайтов обвалился шквал ботов и спама от них.
Спам шёл на форуме, боты создавали темы в определённых ветках форума с различной рекламой. По началу я всё подчищал в тот же день, темы со спамом весели не больше 2-4 часов. И я думал, что когда это обнаружат, решат, что нет смысла смамить на моём сайте, так как темы затираются. Но нет, я оказался не прав и спам по прежнему продолжался. Начал искать методы, как с этим бороться. Нашёл несколько решений, но они меня не очень впечатлили. Первое, что я нашёл, это совет включить выбор аватара при регистрации и сделать это поле обязательным, якобы тогда спама не будет. В другой теме, говорилось о активации возможности выбора группы при регистрации. Не первый не второй способ мне не подходил, объясню почему. Первый метод не плох, он вроде мне и подходил, но толку от него мало, так как программа через которую создаются фейковые аккаунты и распространяется спам, очень умная и выбрать аватар автоматически для неё не проблема. Второй вариант вообще не моё, так как мне нужно было, что бы все новые пользователи попадали именно в группу "Пользователи", и потом оставляли комменты и посты на форуме, за что в дальнейшем в качестве награды попадали в другую группу с более высокими правами. А авто-перенос возможен только из группы "Пользователи". Тогда я психанул, и просто запретил создавать темы на форуме группе "Пользователи", и огласил об этом на сайте, добавив "- хотите создавать темы на сайте, для начала наберите 20 комментов и вас перенесёт в другую группу, тогда и сможете темы на форуме создавать". Но этот вариант многим не подойдёт. Кстати у меня на сайте есть штучка такая, мол нужно поставить галочку в чекбоксе, и только тогда кнопка "регистрация" станет активной. Но и это программа для спама обходила, так как она понимает некоторые JS с помощью которых пытаются защититься. Но сегодня мне в голову пришла одна идея, которая работает и я поделюсь нею с вами. И так, в теории метод такой: Я активирую поле для выбора аватара при регистрации, затем делаю его обязательным для заполнения. Но от спама это не спасёт, так как для спам-софта это не преграда. Затем в шаблоне редактирования формы регистрации обвожу переменную $AVATAR_FL$ (поле куда вставляется ссылка на аватар) в div со значанием display:none Код <div style="display:none;">$AVATAR_FL$</div> Затем ставлю скрипт, который автоматически вставит ссылку на аватар (из моего банка аватаров) в поле $AVATAR_FL$ Код <script type="text/javascript">$('#siF12').val('http://procj.com/ava/160x240/013.gif');</script> Но, что бы у всех новых пользователей не была одинаковая аватарка, через условие я задал, что бы каждую минуту подставлялась другая картинка. Всего заготовил 60 картинок. Так вот, теперь при регистрации поля аватар не видно, но его нужно обязательно заполнить, иначе зарегиться не получиться, а как же его заполнить если поле скрыто. А об этом уже позаботится скрипт, который сам заполнит поле. Вся соль в том, что если регистрируется живой человек, ссылка на аватар вставляется в поле и он может зарегистрироваться. Но если регистрация проходит через софт для спама, то скрипт не срабатывает, он не вставляет ссылку на аватар в поле. Из за чего софтина не может зарегистрировать пользователя. Вот такой простой, но успешный метод, который сегодня мне пришёл в голову, а главное он работает, проверил на своём сайте ![]() Прикрепления:
6228272.jpg
(140.6 Kb)
Сообщение отредактировал Rad_van_Cor - Среда, 21 Авг 2013, 04:46:03
|
|
Спасибо, пригодится. А в коде
Код <script type="text/javascript">$('#siF12').val('http://procj.com/ava/160x240/013.gif');</script> Ссылка на 1 аватар, не на 60? Ucoz нагло чистит сайты. Мой удалили и морозятся. 7 лет работал над проектом http://sg-ql.at.ua. Удалили без предупреждения и шанса на исправление возможных нарушений. Никому больше не советую ukoz!
|
|
У себя делал подобное, в форме регистрации и добавления сообщений на форум, только использовал любое обязательное поле и по клику с выбором правильного значения, на тот случай если программа обрабатывает скрипты на стороне клиента, хотя, можно сделать так же без клика. Скрипт добавлял необходимый атрибут name и его значение, без него поле считается не заполненным и соответственно форма не обрабатывается выдавая ошибку заполнения. В общем-то это остановило большую часть спама, остался только в ручную добавляемый, на этот случай сделал премодерацию сообщений на форуме для "гостей" с помощью оператора сообщающего о редактировании материла модератором.
|
|
Цитата (vova19061) Ссылка на 1 аватар, не на 60? Здесь одна ссылка, но это лишь пример, если нужно все 60, вот код. Его ставим на страницу регистрации пользователей после $BODY$ Код <?if(substr($TIME$,3,2)='01')?><script type="text/javascript">$('#siF12').val('http://procj.com/ava/160x240/001.gif');</script><?endif?> <?if(substr($TIME$,3,2)='02')?><script type="text/javascript">$('#siF12').val('http://procj.com/ava/160x240/002.gif');</script><?endif?> <?if(substr($TIME$,3,2)='03')?><script type="text/javascript">$('#siF12').val('http://procj.com/ava/160x240/003.gif');</script><?endif?> <?if(substr($TIME$,3,2)='04')?><script type="text/javascript">$('#siF12').val('http://procj.com/ava/160x240/004.gif');</script><?endif?> <?if(substr($TIME$,3,2)='05')?><script type="text/javascript">$('#siF12').val('http://procj.com/ava/160x240/005.gif');</script><?endif?> <?if(substr($TIME$,3,2)='06')?><script type="text/javascript">$('#siF12').val('http://procj.com/ava/160x240/006.gif');</script><?endif?> <?if(substr($TIME$,3,2)='07')?><script type="text/javascript">$('#siF12').val('http://procj.com/ava/160x240/007.gif');</script><?endif?> <?if(substr($TIME$,3,2)='08')?><script type="text/javascript">$('#siF12').val('http://procj.com/ava/160x240/008.gif');</script><?endif?> <?if(substr($TIME$,3,2)='09')?><script type="text/javascript">$('#siF12').val('http://procj.com/ava/160x240/009.gif');</script><?endif?> <?if(substr($TIME$,3,2)='10')?><script type="text/javascript">$('#siF12').val('http://procj.com/ava/160x240/010.gif');</script><?endif?> <?if(substr($TIME$,3,2)='11')?><script type="text/javascript">$('#siF12').val('http://procj.com/ava/160x240/011.gif');</script><?endif?> <?if(substr($TIME$,3,2)='12')?><script type="text/javascript">$('#siF12').val('http://procj.com/ava/160x240/012.gif');</script><?endif?> <?if(substr($TIME$,3,2)='13')?><script type="text/javascript">$('#siF12').val('http://procj.com/ava/160x240/013.gif');</script><?endif?> <?if(substr($TIME$,3,2)='14')?><script type="text/javascript">$('#siF12').val('http://procj.com/ava/160x240/014.gif');</script><?endif?> <?if(substr($TIME$,3,2)='15')?><script type="text/javascript">$('#siF12').val('http://procj.com/ava/160x240/015.gif');</script><?endif?> <?if(substr($TIME$,3,2)='16')?><script type="text/javascript">$('#siF12').val('http://procj.com/ava/160x240/016.gif');</script><?endif?> <?if(substr($TIME$,3,2)='17')?><script type="text/javascript">$('#siF12').val('http://procj.com/ava/160x240/017.gif');</script><?endif?> <?if(substr($TIME$,3,2)='18')?><script type="text/javascript">$('#siF12').val('http://procj.com/ava/160x240/018.gif');</script><?endif?> <?if(substr($TIME$,3,2)='19')?><script type="text/javascript">$('#siF12').val('http://procj.com/ava/160x240/019.gif');</script><?endif?> <?if(substr($TIME$,3,2)='20')?><script type="text/javascript">$('#siF12').val('http://procj.com/ava/160x240/020.gif');</script><?endif?> <?if(substr($TIME$,3,2)='21')?><script type="text/javascript">$('#siF12').val('http://procj.com/ava/160x240/021.gif');</script><?endif?> <?if(substr($TIME$,3,2)='22')?><script type="text/javascript">$('#siF12').val('http://procj.com/ava/160x240/022.gif');</script><?endif?> <?if(substr($TIME$,3,2)='23')?><script type="text/javascript">$('#siF12').val('http://procj.com/ava/160x240/023.gif');</script><?endif?> <?if(substr($TIME$,3,2)='24')?><script type="text/javascript">$('#siF12').val('http://procj.com/ava/160x240/024.gif');</script><?endif?> <?if(substr($TIME$,3,2)='25')?><script type="text/javascript">$('#siF12').val('http://procj.com/ava/160x240/025.gif');</script><?endif?> <?if(substr($TIME$,3,2)='26')?><script type="text/javascript">$('#siF12').val('http://procj.com/ava/160x240/026.gif');</script><?endif?> <?if(substr($TIME$,3,2)='27')?><script type="text/javascript">$('#siF12').val('http://procj.com/ava/160x240/027.png');</script><?endif?> <?if(substr($TIME$,3,2)='28')?><script type="text/javascript">$('#siF12').val('http://procj.com/ava/160x240/028.png');</script><?endif?> <?if(substr($TIME$,3,2)='29')?><script type="text/javascript">$('#siF12').val('http://procj.com/ava/160x240/029.gif');</script><?endif?> <?if(substr($TIME$,3,2)='30')?><script type="text/javascript">$('#siF12').val('http://procj.com/ava/160x240/030.gif');</script><?endif?> <?if(substr($TIME$,3,2)='31')?><script type="text/javascript">$('#siF12').val('http://procj.com/ava/160x240/031.gif');</script><?endif?> <?if(substr($TIME$,3,2)='32')?><script type="text/javascript">$('#siF12').val('http://procj.com/ava/160x240/032.gif');</script><?endif?> <?if(substr($TIME$,3,2)='33')?><script type="text/javascript">$('#siF12').val('http://procj.com/ava/230X340_Fruts/001.jpg');</script><?endif?> <?if(substr($TIME$,3,2)='34')?><script type="text/javascript">$('#siF12').val('http://procj.com/ava/230X340_Fruts/002.jpg');</script><?endif?> <?if(substr($TIME$,3,2)='35')?><script type="text/javascript">$('#siF12').val('http://procj.com/ava/230X340_Fruts/003.jpg');</script><?endif?> <?if(substr($TIME$,3,2)='36')?><script type="text/javascript">$('#siF12').val('http://procj.com/ava/230X340_Fruts/004.jpg');</script><?endif?> <?if(substr($TIME$,3,2)='37')?><script type="text/javascript">$('#siF12').val('http://procj.com/ava/230X340_Fruts/005.jpg');</script><?endif?> <?if(substr($TIME$,3,2)='38')?><script type="text/javascript">$('#siF12').val('http://procj.com/ava/230X340_Fruts/006.jpg');</script><?endif?> <?if(substr($TIME$,3,2)='39')?><script type="text/javascript">$('#siF12').val('http://procj.com/ava/230X340_Fruts/007.jpg');</script><?endif?> <?if(substr($TIME$,3,2)='40')?><script type="text/javascript">$('#siF12').val('http://procj.com/ava/230X340_Fruts/008.jpg');</script><?endif?> <?if(substr($TIME$,3,2)='41')?><script type="text/javascript">$('#siF12').val('http://procj.com/ava/230X340_Fruts/009.jpg');</script><?endif?> <?if(substr($TIME$,3,2)='42')?><script type="text/javascript">$('#siF12').val('http://procj.com/ava/230X340_Fruts/010.jpg');</script><?endif?> <?if(substr($TIME$,3,2)='43')?><script type="text/javascript">$('#siF12').val('http://procj.com/ava/230X340_Fruts/011.jpg');</script><?endif?> <?if(substr($TIME$,3,2)='44')?><script type="text/javascript">$('#siF12').val('http://procj.com/ava/230X340_Fruts/012.jpg');</script><?endif?> <?if(substr($TIME$,3,2)='45')?><script type="text/javascript">$('#siF12').val('http://procj.com/ava/230X340_Fruts/013.jpg');</script><?endif?> <?if(substr($TIME$,3,2)='46')?><script type="text/javascript">$('#siF12').val('http://procj.com/ava/230X340_Fruts/014.jpg');</script><?endif?> <?if(substr($TIME$,3,2)='47')?><script type="text/javascript">$('#siF12').val('http://procj.com/ava/230X340_Fruts/015.jpg');</script><?endif?> <?if(substr($TIME$,3,2)='48')?><script type="text/javascript">$('#siF12').val('http://procj.com/ava/230X340_Fruts/016.jpg');</script><?endif?> <?if(substr($TIME$,3,2)='49')?><script type="text/javascript">$('#siF12').val('http://procj.com/ava/230X340_Fruts/017.jpg');</script><?endif?> <?if(substr($TIME$,3,2)='50')?><script type="text/javascript">$('#siF12').val('http://procj.com/ava/230X340_Fruts/018.jpg');</script><?endif?> <?if(substr($TIME$,3,2)='51')?><script type="text/javascript">$('#siF12').val('http://procj.com/ava/230X340_Fruts/019.jpg');</script><?endif?> <?if(substr($TIME$,3,2)='52')?><script type="text/javascript">$('#siF12').val('http://procj.com/ava/230X340_Fruts/020.jpg');</script><?endif?> <?if(substr($TIME$,3,2)='53')?><script type="text/javascript">$('#siF12').val('http://procj.com/ava/230X340_Fruts/021.jpg');</script><?endif?> <?if(substr($TIME$,3,2)='54')?><script type="text/javascript">$('#siF12').val('http://procj.com/ava/230X340_Fruts/022.jpg');</script><?endif?> <?if(substr($TIME$,3,2)='55')?><script type="text/javascript">$('#siF12').val('http://procj.com/ava/230X340_Fruts/023.jpg');</script><?endif?> <?if(substr($TIME$,3,2)='56')?><script type="text/javascript">$('#siF12').val('http://procj.com/ava/230X340_Fruts/024.jpg');</script><?endif?> <?if(substr($TIME$,3,2)='57')?><script type="text/javascript">$('#siF12').val('http://procj.com/ava/230X340_Fruts/025.jpg');</script><?endif?> <?if(substr($TIME$,3,2)='58')?><script type="text/javascript">$('#siF12').val('http://procj.com/ava/230X340_Fruts/026.jpg');</script><?endif?> <?if(substr($TIME$,3,2)='59')?><script type="text/javascript">$('#siF12').val('http://procj.com/ava/230X340_Fruts/027.jpg');</script><?endif?> <?if(substr($TIME$,3,2)='60')?><script type="text/javascript">$('#siF12').val('http://procj.com/ava/230X340_Fruts/028.jpg');</script><?endif?> Именно не в форму регистрации локальных пользователей, а на страницу регистрации пользователей. Так как в форме не работает переменная $TIME$ из за чего мы не сможем узнавать время. Ну и ссылки на картинки меняете на свои. |
|
Rad_van_Cor, на сегодня есть более простой метод решения данной проблемы - сменить капчу на сложную, у вас она стояла самая простая...
Отправляя сообщение о помощи, приводите ссылку на свой сайт. Это не считается рекламой, зато снимает массу вопросов.
|
|
Цитата (Rad_van_Cor) Здесь одна ссылка, но это лишь пример, если нужно все 60, вот код. Нет, не нужно, спасибо. Просто уточнил. Пока наплыва спама не наблюдаю, но буду иметь ввиду)) Хорошая идея! Цитата (Rad_van_Cor) Именно не в форму регистрации локальных пользователей, а на страницу регистрации пользователей. Это хорошо, потому что я не покупал премиум. Ucoz нагло чистит сайты. Мой удалили и морозятся. 7 лет работал над проектом http://sg-ql.at.ua. Удалили без предупреждения и шанса на исправление возможных нарушений. Никому больше не советую ukoz!
|
|
Цитата (Selena) Rad_van_Cor, на сегодня есть более простой метод решения данной проблемы - сменить капчу на сложную, у вас она стояла самая простая... У группы пользователи, капча стоит, что бы им перейти в группу проверенные нужно оставить определённое количество комментариев к материалам других пользователей. И им очень сложно оставлять комменты со сложной капчей. По этому стояла простая. |
|
|
|
Цитата (Selena) Корячиться со скриптами или просто поменять капчу. ) ![]() Прикрепления:
4886682.jpg
(12.3 Kb)
|
| |||
Будьте в курсе всех обновлений: подпишитесь на наш официальный Telegram-канал uCoz и задавайте вопросы в чате сообщества!

Чат сообщества













