MENU
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Анти-Спам для форума
ВоваДата: Вторник, 01.06.2010, 21:52 | Сообщение # 1
Гловарь банды
Группа: Администраторы
Сообщений: 1782
Награды: 10
Репутация: 6
Статус:

Данный скрипт не позволяет пользователю отправлять больше одного сообщения за 30 секунд (тайм-аут можно изменить).
Установка:

Все коды нужно ставить в общий вид форума.

Сначала подключим функции для работы с Cookies, поставив этот код в head:

Code
<?if($PAGE_ID$='threadpage')?>      
<script type="text/javascript">      
function getCookie(a){var b=document.cookie.match(new RegExp("(?:^|; )"+a.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g,"\\$1")+"=([^;]*)"));return b?decodeURIComponent(b[1]):undefined}function setCookie(b,f,c){c=c||{};var i=c.expires;if(typeof i=="number"&&i){var h=new Date();h.setTime(h.getTime()+i*1000);i=c.expires=h}if(i&&i.toUTCString){c.expires=i.toUTCString()}f=encodeURIComponent(f);var a=b+"="+f;for(var e in c){a+="; "+e;var g=c[e];if(g!==true){a+="="+g}}document.cookie=a}function deleteCookie(a){setCookie(a,null,{expires:-1})};      
</script>      
<?endif?>

Затем — сам скрипт, после $BODY$:
Code
<?if($PAGE_ID$='threadpage')?>      
<script type="text/javascript">      
/*      
* uForum.AntiSpam by $USERNAME$ aka. exec      
* 15:23 04.04.2010 ~ KRSK      
*/      

var bts = document.getElementById('frF16');      
bts.onclick = 'setCookie("FrDs", "ddd", {expires: 30})';      
if (!!getCookie("FrDs")) {      
       bts.disabled = true,      
       bts.value = 'Включена защита от спама',      
       bts.style.width = '200px',      
       btr = document.getElementById('frF17'),      
       er = document.createElement('div'),      
       er.align = 'center',      
       er.innerHTML = 'Минимальный интервал для отправки сообщений — 30 секунд! Подождите и обновите страницу.',      
       btr.parentNode.insertBefore(er, btr.nextSibling);      
}      
</script>      
<?endif?>

bts.onclick = 'setCookie("FrDs", "ddd", {expires: 30})'; — здесь можно установить время тайм-аута (в секундах).
 
  • Страница 1 из 1
  • 1
Поиск: