[php] Новичкам: задаем вопросы

Discussion in 'PHP' started by _Great_, 26 May 2007.

Thread Status:
Not open for further replies.
  1. -=lebed=-

    -=lebed=- хэшкрякер

    Joined:
    21 Jun 2006
    Messages:
    3,804
    Likes Received:
    1,960
    Reputations:
    594
    Вообщем сделал так:
    PHP:
    // Функция получения 1000 паролей из базы начиная с номера=id
    function get_pass($id)
    {
    global 
    $db_table;
    global 
    $id;
    $query "SELECT `passwd` from ".$db_table." WHERE `passwd` IS NOT NULL limit ".$id.",1000";
    $r=mysql_query($query);
    if(
    $r)
    {

      while(
    $db_pass mysql_fetch_array($r))
      {
        
    $get_pass[$id]=$db_pass['passwd']."\n";
        
    $id++;
      }
    }
    else
    {
      echo 
    "<p><b>Error: ".mysql_error()."</b><p>";
      
    $get_pass=false;
      
    }
    return 
    $get_pass;
    }
    Читаем из базы 1000 паролей, начиная с записи $id и возвращаем в виде массива $get_pass (1000 записей)

    Вызываем функцию в цикле:
    PHP:
    <?
    include(
    'conf.php');
    include(
    'function.php');
    ignore_user_abort(1);
    set_time_limit(0);
    $fd fopen("./pass/dict.txt"'w');
    $id 0;
    $pass = array('типа..''пароль1''пароль2');
        while(
    $pass)
        {
        
    $pass=get_pass($id);
        
    $string=implode($pass);
        
    fwrite($fd$string);
    //    $id=$id+1000; - тут не надо! $id - глобальная!
                
    }
        echo 
    "в файл выгружено: ".$id." паролей <br>";
    fclose($fd);
    ?> 
    Выгрузилось реально 115000 паролей, хотя написал что 230000.... хм... попробовать по 2 тыс. выгружать?

    Изминил лимит на 2000 пишет:
    Но реально в файле в два раза меньше, где ошибка? :confused:

    А понял! не надо второй раз 1000 прибавлять $id глобальная, а так пропуск по 1000 шт. получается, она инкрементится в функции и её значение не сбрасывается... ;)
    Щас исправлю... :D
     
    #1581 -=lebed=-, 16 Jan 2008
    Last edited: 16 Jan 2008
  2. astrologer

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

    Joined:
    30 Aug 2007
    Messages:
    837
    Likes Received:
    267
    Reputations:
    59
    $id увеличивается в этом цикле тысячу раз на единицу:
    Code:
      while($db_pass = mysql_fetch_array($r)) 
      { 
        $get_pass[$id]=$db_pass['passwd']."\n"; 
        $id++; 
      }
    и здесь ещё на тысячу:
    Code:
    while($pass) 
    { 
      $pass=get_pass($id); 
      $string=implode($pass); 
      fwrite($fd, $string); 
      $id=$id+1000; 
    }
    P.S. если не делать $id глобальной переменной, должно как надо работать
     
    #1582 astrologer, 16 Jan 2008
    Last edited: 16 Jan 2008
    1 person likes this.
  3. cylaaaan

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

    Joined:
    31 Aug 2006
    Messages:
    0
    Likes Received:
    44
    Reputations:
    8
    привет, помогите плз.

    PHP:
    $cr=curl_init("http://site.ru/");
      
    curl_setopt($crCURLOPT_USERAGENT"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)");
      
    curl_setopt($crCURLOPT_HTTP_VERSIONCURL_HTTP_VERSION_1_0);
      
    curl_setopt($crCURLOPT_TIMEOUT20);
      
    curl_setopt($crCURLOPT_HEADER1);
      
    curl_setopt($crCURLOPT_POSTFIELDS"param=1&param2=2&param3=3");
      
    curl_setopt($crCURLOPT_RETURNTRANSFER1);
      
    curl_setopt($crCURLOPT_REFERER"http://MTS-EXpress");
      
    curl_setopt($cr,CURLOPT_PROXY,$proxy);
      
    $r curl_exec($cr);
      
    curl_close($cr);
      echo 
    "$r";
    $r = curl_exec($cr);
    // это как я понял в переменной он напускает сам пост-запрос.
    Но мне нужно, что-то вроде выдиралки... Посылаю пост-запрос, скрипт ищет любое указанное мною слово из полученного html кода по пост-запросу...

    на перле выглядит так:

    PHP:
    $ua LWP::UserAgent->new;
    my $req = new HTTP::Request POST => "http://site.ru/index.php";
       
    $req->user_agent("Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MRA 4.8 (build 01709); .NET CLR 2.0.50727; .NET CLR 3.0.04506.30)");
       
    $req->content_type("application/x-www-form-urlencoded");
       
    $req->content("a=1&b=1&c=3");
    my $res $ua->request($req);

    if (
    $res->content =~ /ПОИСК УКАЗАННОГО СЛОВА/) { print "да, данное слово есть"; } else { print "нету такого слова"; }
    Вот, собственно, как мне этот скрипт на perl переписать на php
     
  4. groundhog

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

    Joined:
    12 May 2007
    Messages:
    1,159
    Likes Received:
    425
    Reputations:
    180
    В PHP есть регуляный поиск... Регулярки такие же как и в Perl'е что тебе мешает им воспользоваться? Вот пример:

    preg_match('/(ПОИСК УКАЗАННОГО СЛОВА)/', $matches);
    echo $matches[1];
     
    1 person likes this.
  5. cylaaaan

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

    Joined:
    31 Aug 2006
    Messages:
    0
    Likes Received:
    44
    Reputations:
    8
    спасибо, помогло.

    PHP:
     $r curl_exec($cr);
      
    curl_close($cr);
    $s "echo '$r'";
    потом условие

    if ( preg_match ( "/СЛОВО/i" , "$s" )) {} else {}
     
    1 person likes this.
  6. Doom123

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

    Joined:
    11 Nov 2006
    Messages:
    749
    Likes Received:
    244
    Reputations:
    22
    Привет! у меня вопрос... я пытаюсь написать брутер

    у меня массив
    PHP:
    $a = array(a..Z);
    И максимальная длина пароля скажем $len = 3

    тоесть $a[].$a[].$a[]

    как сделать так чтоб например красный сделал полный круг тоесть от "A" до "Z" а зелёного и синего быть не должно .. потом после полного круга к зелёному добавится +1 тоесть из ничего станет
    "A" а красный опять сделает полный круг и добавит зелёному ещё +1 и теперь будет "B"(В зелёном)

    ну получается как в часах секунды идут быстро минуты медлено а часы ещё медленее

    Надеюсь вы меня поняли=)
     
  7. astrologer

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

    Joined:
    30 Aug 2007
    Messages:
    837
    Likes Received:
    267
    Reputations:
    59
    В php так тоже можно
    Code:
    <pre>
    <?php
    
    $str = 'aaa';
    $i   = 100;
    
    while($i--)
    {
      echo $str++, "\n";
    }
    
    ?>
    </pre>
     
  8. Doom123

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

    Joined:
    11 Nov 2006
    Messages:
    749
    Likes Received:
    244
    Reputations:
    22
    astrologer, это вы мне? если да то я не понел=)
     
  9. fudzimaro

    fudzimaro New Member

    Joined:
    16 Jan 2008
    Messages:
    6
    Likes Received:
    0
    Reputations:
    0
    Привет!
    Ребят помогите пожалуйста, есть текст ну скажем на странице banner.html, а мне нужно что б этот текст стал картинкой такое возможно сделать средставми php+GD?
     
  10. Ch3ck

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

    Joined:
    9 Jun 2006
    Messages:
    1,363
    Likes Received:
    1,190
    Reputations:
    430
    Конечно. Регулярками выдрал текст, засунул в переменную и в картинку...
     
  11. fudzimaro

    fudzimaro New Member

    Joined:
    16 Jan 2008
    Messages:
    6
    Likes Received:
    0
    Reputations:
    0
    дело в том что я в php не совсем силён, может наваяите примерный код если не трудно или ткнёте носом в чтиво какое по сабжу
    на стр banner.htm текст всегда разный ибо там выводится результат парсинга другой стр.
    з.ы хочу сделать типа динамический банер
     
  12. n3m0

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

    Joined:
    11 May 2007
    Messages:
    133
    Likes Received:
    92
    Reputations:
    11
    У нас телепатов нету. Для начала дай пример файла banner.html. и какой текст нужно выдраить с него
     
  13. razzzar

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

    Joined:
    16 Jun 2007
    Messages:
    92
    Likes Received:
    75
    Reputations:
    5
    str_replace($prermenaya, "text", "zamena");
     
  14. fudzimaro

    fudzimaro New Member

    Joined:
    16 Jan 2008
    Messages:
    6
    Likes Received:
    0
    Reputations:
    0
    HTML:
    <hr>Сегодня в России одновременно прекратили работу отделения Британского совета при консульствах в Санкт-Петербурге и Екатеринбурге...<span class=laln>
    выдернуть нужно:
     
  15. Macro

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

    Joined:
    11 Nov 2006
    Messages:
    552
    Likes Received:
    298
    Reputations:
    207
    Гг вот и неправильно, и вообще не в тему.
     
  16. n3m0

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

    Joined:
    11 May 2007
    Messages:
    133
    Likes Received:
    92
    Reputations:
    11
    PHP:
    <?php
    $a 
    =file_get_contents("http://blablabla.com/banner.html");  
    preg_match ("#<hr>]*>.*</hr>]*>#isU"$a$regs);
    echo 
    $regs[0];   
    Пример парсит текст между тегами <hr>text</hr>

    Хотя, ты не полный текст дал, может не работать.
     
  17. lsass.exe

    lsass.exe Elder - Старейшина

    Joined:
    5 Aug 2007
    Messages:
    156
    Likes Received:
    161
    Reputations:
    24
    PHP:
    $string "<hr>Сегодня в России одновременно прекратили работу отделения Британского совета при консульствах в Санкт-Петербурге и Екатеринбурге...<span class=laln>";
    $string strip_tags($string);
     
  18. n3m0

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

    Joined:
    11 May 2007
    Messages:
    133
    Likes Received:
    92
    Reputations:
    11
    ----------------------------
    PHP:
    <?php
    $a 
    =file_get_contents("http://blablabla.com/banner.html");  
    preg_match ("#<hr>]*>.*</hr>]*>#isU"$a$regs);

    header ("Content-type: image/png");
    $im = @imagecreatetruecolor(12020)
          or die(
    "Cannot Initialize new GD image stream");
    $text_color imagecolorallocate($im2331491);
    imagestring($im155,  "'.$regs[0];.'"$text_color);
    imagepng($im);
    imagedestroy($im);
    ?>
    Выведет текст на чёрном фоне.

    :) http://ua.php.net/manual/ru/function.imagecreatetruecolor.php
     
  19. Macro

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

    Joined:
    11 Nov 2006
    Messages:
    552
    Likes Received:
    298
    Reputations:
    207
    2lsass.exe
    Думаю, что ему нужно граббить из страницы, где кроме этого еще много чего
     
  20. bul.666

    bul.666 булка

    Joined:
    6 Jun 2006
    Messages:
    719
    Likes Received:
    425
    Reputations:
    140
    Может лучше будет так:
    Кстати ты проверял? Пример картинки бы показал =\
     
Thread Status:
Not open for further replies.