1. Важное и срочное обновление IPB 3.4.5 - https://nulled.cc/threads/243375/

[antispam] Еще один метод борьбы со спамом.

Тема в разделе "IPB", создана пользователем Android, 13 ноя 2008.

Статус темы:
Закрыта.
Модераторы: Maybe
  1. Android

    Android

    Регистр.:
    10 июн 2006
    Сообщения:
    603
    Симпатии:
    518
    Ну что сказать проходят боты уже и модифицированую капчу и дополнительные поля, хотя мод с вопросом отсекает большую часть спам-ботов.

    Вообщем нашел очень интересную штуку, база айпишников и мыл спамеров:
    http://www.stopforumspam.com

    У них есть свой APIs, суть сводится к тому что Вы можете встроить проверку по ip, мылу или никнейму на приналежность к спамерской сети, т.е. отсеивание идет во время регистрации. Я проверил нескольких спамеров которые прошли защиту форума, они были в базе stopforumspam. Думаю комбинация рекапчи и скрипта проверки ip и mail от stopforumspam должен свести спамерские атаки на нет =).

    Проверка может выполнятся так:
    * http://www.stopforumspam.com/api?ip=91.186.18.61
    * http://www.stopforumspam.com/api?email=g2fsehis5e@mail.ru
    * http://www.stopforumspam.com/api?username=MariFoogwoogy

    А можно использовать скрипт чтобы встроить в регистрацию на форуме:
    http://guildwarsholland.nl/phphulp/testspambot.php

    PHP:
    function checkSpambots($mail,$ip,$name){
        
    $spambot false;
        
    //put the main domains in the array
        
    $main_domains = array('mail.ru','bigmir.net');
        
    //check the e-mail adress
        
    $xml_string file_get_contents('http://www.stopforumspam.com/api?email='.$mail);
        
    $xml = new SimpleXMLElement($xml_string);
        if(
    $xml->appears == 'yes'){
            
    $spambot true;
        }elseif(
    $spambot != true){
            
    //e-mail not found in the database, now check the ip
            
    $xml_string file_get_contents('http://www.stopforumspam.com/api?ip='.$ip);
            
    $xml = new SimpleXMLElement($xml_string);
            if(
    $xml->appears == 'yes'){
                
    $spambot true;
            }
        }
        
    //check the main domains if there is still no spammer found, you can add more if you want in the $main_domains array
        
    if($spambot != true){
            for(
    $i 0$i count($main_domains); $i++){
                if(
    ereg($main_domains[$i],$mail) == 1){
                    
    $spambot true;
                }
            }
        }
        
    // create an .txt file with the info of the spambot, if this one already exists, increase its amount of try's
        
    if($spambot == true){
            if(
    file_exists('spambots/'.$mail.'.txt')){
                
    $spambot_old_info file_get_contents('spambots/'.$mail.'.txt');
                
    $spambot_old_info explode(',',$spambot_old_info);
                
    $spambot_old_info[2] = $spambot_old_info[2]+1;
                
    $spambot_old_info implode(',',$spambot_old_info);
                
    file_put_contents('spambots/'.$mail.'.txt',$spambot_old_info);
            }else{
                
    $spambot_info $ip.','.$name.',1';
                
    file_put_contents('spambots/'.$mail.'.txt',$spambot_info);
            }
        }
        return 
    $spambot;
    }
     
  2. Acidrayne

    Acidrayne

    Регистр.:
    30 сен 2007
    Сообщения:
    296
    Симпатии:
    20
    хм... Не могли бы вы уточнить как этот скрипт лучше интегрировать. А т опроснулся утром, захожу на форум а там 40 тем с порно!
     
  3. Android

    Android

    Регистр.:
    10 июн 2006
    Сообщения:
    603
    Симпатии:
    518
    [MOD] IPB StopForumSpam.com
    Автор: Android (13.11.2008)
    Для: IPB v2.3.X
    Редактировать: 1 файл
    Скорость установки: 1 минута

    Особенности:
    на хостинге должны быть открыты соксы (функция file_get_contents), на многих халявных хостингах они закрыты.

    Описание:
    Это небольшая модификация которая позволит Вам проверять всех пользователей которые регистрируются по базе stopforumspam.com на принадлежность к сети спам-ботов и отсеивать таким образом спамеров еще на этапе регистрации. Мод очень эффективен и никак не отягощает процесс регистрации пользователей!

    Открываем файл:
    sources/action_public/register.php
    В самом конце файла, до:
    PHP:
    }

    ?>
    вставяем код:
    PHP:
        //-----------------------------------------
        // Проверка по базе www.stopforumspam.com
        // для отсеивания спамботов. 
        // Входящие данные: $mail - почтовый адрес, $ip - айпишник
        // Возвращает false - если это не спам-бот, true - если mail или ip найдены в базе спамеров (т.е. это спам-бот)
        // Автор мода: Android, обсуждение тут: http://www.nulled.ws/showthread.php?t=86970
        //-----------------------------------------
        
    function isSpambots($mail,$ip){
                
    $spambot false;
                
    //check the e-mail adress
                
    $xml_string file_get_contents('http://www.stopforumspam.com/api?email='.$mail);
                
    $xml = new SimpleXMLElement($xml_string);
                if(
    $xml->appears == 'yes'){
                    
    $spambot true;
                }elseif(
    $spambot != true){
                
    //e-mail not found in the database, now check the ip
                    
    $xml_string file_get_contents('http://www.stopforumspam.com/api?ip='.$ip);
                    
    $xml = new SimpleXMLElement($xml_string);
                    if(
    $xml->appears == 'yes'){
                            
    $spambot true;
                    }
                }
                return 
    $spambot;
        }  

    потом находим в функции create_account() (примерно 1990-2000 строка) следующий код:

    PHP:
            //-----------------------------------------
            // Check the reg_code
            //-----------------------------------------
    и до него вставляем код:
    PHP:
            //-----------------------------------------
            // Не спамер ли это? (проверка по базе stopforumspam.com)
            //-----------------------------------------
            
    $stopforumspam $this->isSpambots($in_email,$_SERVER["REMOTE_ADDR"]);
            if ( 
    $stopforumspam )
            {
                
    $form_errors['email'][$this->ipsclass->lang['reg_error_email_ban']] = "Простите но Вы занесены в базу спамеров stopforumspam.com и не можете продолжить регистрацию. Если это недоразумение обратитесь к администрации форума.";
            }
    Вот и все, теперь у вас есть хорошая проверка по базе мыл и айпишников спамеров, которая своевременно пополняется ;-).

    Теперь для проверки работоспособности попробуйте зарегистрировать акк на какоенить спамерское мыло, например на это sakyrastar@gmail.com (или выберите любое тут http://www.stopforumspam.com/), вам должно выдаться предупреждение мол:
    З.Ы. Даную проверку легко можно встроить в любой скрипт, на сайте http://www.stopforumspam.com есть примеры и описания АПИ...

    Добавлено через 4 минуты
    Кстати можно написать небольшой скриптик для проверки уже имеющихся юзеров, который прошелся по зареганым юзерам и всех кто спамер удалил или переместил в отдельную группу, тем самым вы нехило почистите форум от левых аккаунтов...
     
Статус темы:
Закрыта.