Быстрый лёгкий надёжный форумный движок
Вы не вошли.
Страницы 1
Тема закрыта
Собсно сабж??
Подскажите плиз, где можно скачать антиспам мод?
1)punres.org
2)написать самому
3)Вроде в сборке что-то было насчет антиспама.
Вы знаете, я недавно скачал вот это. Цифры и буквы формируются из отдельных сегментов, т.е. это не традиционный рисунок с искажениями )))
хахаха
это выглядит вот так:
http://www.frech.ch/online-bookmarks/forum/register.php
оригинально. мне нравится, что отсутсвуют изображения.
Спасибо, но мне нужно не это. Мне посоветовали использовать антиспам мод для организации премодерируемого форума
оригинально. мне нравится, что отсутсвуют изображения.
Возможно, визуально это не очень эстетично выглядит (я пока не понял где менять размер и предполагаю, что это технически невозможно), но в том случае если посетитель отключил отображение изображений, это очень хороший вариант, как мне кажется.
Тест на знание правил:
#
#
# Mod title : Вопросы на знание правил форума :)
# Mod version : 1.0
# Works on PunBB : 1.2.*
# Release date : 21 мая 2007
# Author : [email protected]
# Affected files : register.php, lang/Russian/register.php
# Note : для русской версии
#
#-------------[ register.php ]-----------
#
#
#-------------[ 1. Найти (строка ~60)]-----
#
// User pressed the cancel button
if (isset($_GET['cancel']))
redirect('index.php', $lang_register['Reg cancel redirect']);
else if ($pun_config['o_rules'] == '1' && !isset($_GET['agree']) && !isset($_POST['form_sent']))
{
$page_title = pun_htmlspecialchars($pun_config['o_board_title']).' / '.$lang_register['Register'];
require PUN_ROOT.'header.php';
?>
<div class="blockform">
<h2><span><?php echo $lang_register['Forum rules'] ?></span></h2>
<div class="box">
<form method="get" action="register.php">
<div class="inform">
<fieldset>
<legend><?php echo $lang_register['Rules legend'] ?></legend>
<div class="infldset">
<p><?php echo $pun_config['o_rules_message'] ?></p>
</div>
</fieldset>
</div>
<p><input type="submit" name="agree" value="<?php echo $lang_register['Agree'] ?>" /><input type="submit" name="cancel" value="<?php echo $lang_register['Cancel'] ?>" /></p>
</form>
</div>
</div>
#
#-------------[ 2. Заменить на ]------------
#
// User pressed the cancel button
if (isset($_POST['cancel']))
redirect('index.php', $lang_register['Reg cancel redirect']);
else if ($pun_config['o_rules'] == '1' && !isset($_POST['agree']) && !isset($_POST['form_sent']))
{
$page_title = pun_htmlspecialchars($pun_config['o_board_title']).' / '.$lang_register['Register'];
require PUN_ROOT.'header.php';
?>
<div class="blockform">
<h2><span><?php echo $lang_register['Forum rules'] ?></span></h2>
<div class="box">
<form method="post" action="register.php">
<div class="inform"><fieldset>
<legend><?php echo $lang_register['RulesQuizHead'] ?></legend>
<div class="infldset">
<?php
function print_one_quiz( $idx, $lng )
{
$rdata = array_rand( array(1, 2, 3), 3 );
echo '<dl><dt style="font-weight:bold">'.$lng[ 'RulesQuiz_'.$idx.'_0' ].":</dt><dd style='margin-left:5em;margin-top:1em;'>\n";
for( $i = 0; $i < 3; $i++ )
{
echo '<input name="'.'RulesQuiz_'.$idx.'" type="radio" value="'.($rdata[$i]+1).'"/>';
echo ' '.$lng[ 'RulesQuiz_'.$idx.'_'.($rdata[$i]+1) ];
echo "<br/>\n";
}
echo "</dd></dl>\n";
}
$qarray = array();
for( $i = 0; $i < $lang_register[ 'RulesQuizMax' ]; $i++ )
{
$qarray[ $i ] = $i + 1;
}
$ridx = array_rand( $qarray, 2 );
print_one_quiz( $ridx[0]+1, $lang_register );
print_one_quiz( $ridx[1]+1, $lang_register );
?>
</div>
</fieldset>
</div>
<p><input type="submit" name="agree" value="<?php echo $lang_register['Agree'] ?>" /><input type="submit" name="cancel" value="<?php echo $lang_register['Cancel'] ?>" /></p>
</form>
</div>
</div>
#
#-------------[ 3. Найти (строка ~298)]-----
#
$page_title = pun_htmlspecialchars($pun_config['o_board_title']).' / '.$lang_register['Register'];
#
#-------------[ 4. Добавить ПЕРЕД ]-----
#
$answers = 0;
for( $i = 1; $i <= $lang_register[ 'RulesQuizMax' ]; $i++ )
{
if( isset( $_POST[ 'RulesQuiz_'.$i ] ) )
{
if( $_POST[ 'RulesQuiz_'.$i ] != '1' )
{
message( $lang_register[ 'QuizAnswerInvalid' ] );
}
else
{
$answers++;
}
}
}
if( $answers != 2 )
{
message( $lang_register[ 'QuizAnswerInvalid' ] );
}
#
#-------------[ lang/Russian/register.php ]----------
#
#-------------[ 5. Добавить (пример) ]-----
#
/*
RulesQuiz_XX_0 - сам вопрос
RulesQuiz_XX_1 - правильный ответ
*/
'RulesQuizHead' => 'Контрольные вопросы',
'RulesQuizMax' => '6',
'QuizAnswerInvalid' => '<b style="color:#FF0000">Неправильные ответы на контрольные вопросы.</b>',
'RulesQuiz_1_0' => 'Перед регистрацией на форуме необходимо',
'RulesQuiz_1_1' => 'Ознакомиться с правилами форума',
'RulesQuiz_1_2' => 'Перечислить на счёт админстрации 15 рублей',
'RulesQuiz_1_3' => 'Читать форум в течении недели',
'RulesQuiz_2_0' => 'Оскорбления на этом форуме',
'RulesQuiz_2_1' => 'Наказываются',
'RulesQuiz_2_2' => 'Поощряются',
'RulesQuiz_2_3' => 'Игнорируются',
'RulesQuiz_3_0' => 'Перед созданием новой темы следует',
'RulesQuiz_3_1' => 'Убедиться в том, что тема соответствует разделу',
'RulesQuiz_3_2' => 'Спросить разрешения у администрации',
'RulesQuiz_3_3' => 'Спросить разрешения у участников форума',
'RulesQuiz_4_0' => 'Администрация сделала вам замечание, но соответствующего пункта в правилах вы не нашли. Вам следует',
'RulesQuiz_4_1' => 'Принять к сведению',
'RulesQuiz_4_2' => 'Громко обидеться',
'RulesQuiz_4_3' => 'Публично покаяться и пообещать исправиться',
'RulesQuiz_5_0' => 'Вы видите сообщение, явно нарушающее правила форума. Вам следует',
'RulesQuiz_5_1' => 'Нажать на ссылку «сообщить модератору»',
'RulesQuiz_5_2' => 'Создать новую тему с обсуждением данного сообщения',
'RulesQuiz_5_3' => 'Ответить на него и указать автору на недопустимое поведение',
'RulesQuiz_6_0' => 'Вы хотите ознакомить участников форума с текстом объёмом в 10 страниц. Вам следует',
'RulesQuiz_6_1' => 'Разместить в сообщении ссылку на этот текст',
'RulesQuiz_6_2' => 'Разместить в сообщении текст полностью',
'RulesQuiz_6_3' => 'Попросить учаcтников форума связаться с вами для получения текста',
#
#-------------[ 6. Сохранить ]----------------
#
Чтобы работало, нужно включить правила в админке!
Dark Wizard
Да это не антиспам мод, похоже на мод антилюд, ставить такое не самая удачная идея
Поэтому вопрос, подскажите пжст банальный парсер ссылок? (До N сообщений нельзя писать посты с ссылками.)
Редактировался Delico (2008-08-02 16:24:53)
Кстати это хороший подход. Большинство спамеров - боты, ибо спамить вручную верх долбоебизмаидиотизма. Пара вопросов и нестандартные ответы отсеют ботов не хуже(а то и лучше) чем графическая каптча. Это первый эшелон защиты. Второй -отсеивание сообщений со ссылками. Но тут под одну гребенку легко зачесать любого честного гражданина и в мыслях не имеющего никакого спама (проверено). И даже количество ссылок в его сообщении не будет показателем спама. Например тут на форуме есть антиспам (он есть кстати и в сборке), он забанил кучу людей дающих ссылки на свои форумы, в качестве примера своих проблем. Т.е. он сработал плохо. Люди оставались недовольны. Поставь себя на их место.
Борьба со спамом на форуме - это комлексные меры включающие в том числе отсеивание ботов на этапе регистрации, а не только тупой бан или премод за ссылки.
hcs
Да я согласен с недостатком этой резалки, и встречался (кстати спасибо, нашёл кусок кода в сборке) однако и тесты на знание правил (согласитесь которые никто кроме админа не читает), это вообще крайность.
Delico
тесты не обязательно на знание правил, это тесты на логику
Угу, только хотел написать, что такие тесты - против блондинок.
Страницы 1
Тема закрыта