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

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

Thread Status:
Not open for further replies.
  1. .Sylar

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

    Joined:
    15 Jul 2008
    Messages:
    9
    Likes Received:
    17
    Reputations:
    -5
    Скрипт будет запускаться на локалке. Скрипт должен заходить на сайт, там залогиниться (www.site.ru/login.php?login.php?login=ABC&pass=XYZ). Всё. Как это сделать?
     
  2. Ru}{eeZ

    Ru}{eeZ Elder - Старейшина

    Joined:
    19 Feb 2008
    Messages:
    454
    Likes Received:
    73
    Reputations:
    -5
    Можно через cURL отправлять get, можно через заголовки, можно сокетами...
     
  3. .Sylar

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

    Joined:
    15 Jul 2008
    Messages:
    9
    Likes Received:
    17
    Reputations:
    -5
    Напишите как это реализовать "через заголовки". Мне будет легче понять, если будет уже готовый код, а вам набросать всего-то пару строк :)
     
    2 people like this.
  4. Ru}{eeZ

    Ru}{eeZ Elder - Старейшина

    Joined:
    19 Feb 2008
    Messages:
    454
    Likes Received:
    73
    Reputations:
    -5
    PHP:
    header('Location: http://site.ru/login.php?login=ABC&pass=XYZ');
     
  5. ntldr

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

    Joined:
    4 Dec 2007
    Messages:
    367
    Likes Received:
    140
    Reputations:
    23
    file_get_contents('http://site.ru/login.php?login=ABC&pass=XYZ');
     
  6. Fepsis

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

    Joined:
    17 Sep 2008
    Messages:
    791
    Likes Received:
    391
    Reputations:
    72
    Доброй ночи, друзья...!!!
    Имеется сайт, с которым необходимо проделать следующее:
    1) Залогиниться (при этом надо ввести логин, пароль и капчу)
    2) Из ХТМЛ кода вытащить один параметр...

    Сделать это надо посредством ПХП скрипта. Планирую сделать так, чтобы при запуске этого скрипта появлялся запрос на введение логина, пароля и капчи, а всё остальное скрипт делал бы автоматически... Так вот пара вопросов:

    1) Как получить в скрипт капчу..?!?
    2) Как заставить работать скрипт со страницей, на которой я уже авторизовался, да и собственно как авторизоваться..!??!

    Что-то подсказывает, касаемо вопроса №2, что придётся юзать курл, но может я не прав или есть другие варианты... Буду благодарен любым советам, линкам...
     
  7. Велемир

    Joined:
    19 Jun 2006
    Messages:
    1,123
    Likes Received:
    96
    Reputations:
    -25
    Как получить список директорий FTP сервера ? Вроде команда LIST должна это делать,но при использовании функции ftp_raw() я обломалсо:

    FTP 425: Unable to build data connection: File name too long

    Везде разные причины,а я так и не понял,в чём дело =_=.Может,кто подскажет ? Возникла такая проблемка: нужно залить .htaccess файл во все директории ниже корня сервера.Вот и...вот и )))
     
  8. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    2 Велемир:

    Есть именно в этой теме, надоело постить одно и тоже, поищи, не больше 50 стр назад

    2 Fepsis:

    скрипт авторизации на античате и проверки своих личных сообщений, например (всё уже было, ищите парни лучше):

    PHP:
    <?php 
    $user 
    'ваш логин на ачате'
    $pass md5('ваш пароль на ачате'); 
    $cl curl_init('http://forum.antichat.ru/login.php?vb_login_username='.$user.'&vb_login_password=&cookieuser=1&s=&do=login&forceredirect=1&vb_login_md5password='.$pass); 
    curl_setopt($clCURLOPT_RETURNTRANSFER1); 
    curl_setopt($clCURLOPT_USERAGENT'Opera/9.25 (Windows NT 5.1; U; ru)'); 
    curl_setopt($clCURLOPT_REFERER'http://forum.antichat.ru/'); 
    curl_setopt($clCURLOPT_HEADER1); 
    curl_setopt($clCURLOPT_COOKIEJAR'coockie.txt'); 
    $ex curl_exec($cl); 
    curl_close($cl); 
    $exec curl_init('http://forum.antichat.ru/index.php'); 
    curl_setopt($execCURLOPT_RETURNTRANSFER1); 
    curl_setopt($execCURLOPT_USERAGENT'Opera/9.25 (Windows NT 5.1; U; ru)'); 
    curl_setopt($execCURLOPT_REFERER'http://forum.antichat.ru/'); 
    curl_setopt($execCURLOPT_HEADER1); 
    curl_setopt($execCURLOPT_COOKIEFILE'coockie.txt'); 
    $page curl_exec($exec); 
    curl_close($exec); 
    preg_match('#<div class="bigusername">(.*)</div>#',$page,$username); 
    preg_match('#\(<b>(.*)<\/b>\/(.*)\)#',$page,$messg); 
    echo 
    'У пользователя <b>'.$username[1].'</b>&nbsp;&nbsp;'.$messg[0].'&nbsp;сообщений.'
    ?>
     
    2 people like this.
  9. Fepsis

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

    Joined:
    17 Sep 2008
    Messages:
    791
    Likes Received:
    391
    Reputations:
    72
    Вот круто, спасибо.. А как быть с капчей..?!?
    При авторизации у меня идёт такой запрос:
    PHP:
    login.php?username=логин&password=пароль&code=капча
    Сама капча генерируется скриптом image.php, как вывести именно "нужную" картинку.?! :confused:

    Сори, если гдето уже было, внятного ответа не нашёл..
     
  10. Велемир

    Joined:
    19 Jun 2006
    Messages:
    1,123
    Likes Received:
    96
    Reputations:
    -25
    Ага,если учесть скорость загрузки страниц моего крутого иеобразного браузера - ~ 10 секунд,а то и больше.Прикинь,сколько уйдёт на это времени?

    ЗЫ: Я же не заставляю отвечать.Не ответят здесь - ответят где-нибудь ещё.Как я понимаю,форум для того и существует,чтобы получать ответы на интересующие вопросы.Или это не так ?С таким же успехом я могу обрыть весь гугл и забить вообще на форумы.50 страниц... тут какие-то смешные инжекты обсуждают на каждой странице.
     
  11. .Sylar

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

    Joined:
    15 Jul 2008
    Messages:
    9
    Likes Received:
    17
    Reputations:
    -5
    Как из строки убрать всё, кроме цифр?
    на входе имеем "^&9d02"y7,--2" а на выходе должно быть "90272"
    причём внутри этого ^&9d02"y7,--2 как видите, могут быть и кавычки.
     
  12. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    .Sylar
    PHP:
    $str '%^&678#^sj&1)("13';
    echo 
    preg_replace('~[^\d]+~','',$str);
     
    _________________________
  13. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    PHP:
    <?
    $a 'орпорпргоп2';
    if (
    is_numeric ($a)) echo 'ok';
    else echo 
    'Error';
    ?>
     
  14. .Sylar

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

    Joined:
    15 Jul 2008
    Messages:
    9
    Likes Received:
    17
    Reputations:
    -5
    PHP:
    <?php 
    set_time_limit
    (0);
    $user '.Sylar'
    $password 'sdfgb'
    $Receiver="fimi68";
    $text="";
    $t=date("U");

    $cl curl_init('http://www.site.ru/login.php?login='.$user.'&pass='.$password); 
    curl_setopt($clCURLOPT_RETURNTRANSFER1); 
    curl_setopt($clCURLOPT_USERAGENT'Opera/9.25 (Windows NT 5.1; U; ru)'); 
    curl_setopt($clCURLOPT_REFERER'http://www.site.ru/'); 
    curl_setopt($clCURLOPT_HEADER1); 
    curl_setopt($clCURLOPT_COOKIEJAR'coofkie.txt'); 
    $ex curl_exec($cl); 
    curl_close($cl);

    $f="pic.txt"$f=fopen($f,'r');
    $k='0';
    $al='0';
    $i='0';
    while(
    $str=fgets($f,1024))
    {
    $str=ereg_replace(' ','%20',$str); 
    $arr[$k]=$str
    $k=$k+1;
    }
    fclose($f);

    while (
    $k!=0)
    {
      
    $fin[$al]=$arr[$k];
      
    $k=$k-1;
      
    $al=$al+1;
    }
    while (
    $al>$i)
    {
    $text=$fin[$al];
    $exec curl_init('http://www.site.ru/send.php?key='.$Receiver.'&amount=1&tag='.$text.'&sign=6ab695062f49b58945f561d9bbf830f0'); 
    curl_setopt($execCURLOPT_RETURNTRANSFER1); 
    curl_setopt($execCURLOPT_USERAGENT'Opera/9.25 (Windows NT 5.1; U; ru)'); 
    curl_setopt($execCURLOPT_REFERER'http://www.site.ru/'); 
    curl_setopt($execCURLOPT_HEADER1); 
    curl_setopt($execCURLOPT_COOKIEFILE'coofkie.txt'); 
    $al=$al-1;
    $page curl_exec($exec); 
    curl_close($exec); 
    //echo($text.'<br>');
    }
    $t=time()-$t; print "Время: ".$t." секунд.";
    ?> 
    Почему у меня в $text пердаётся НИЧЕГО ?
     
  15. mailbrush

    mailbrush Well-Known Member

    Joined:
    24 Jun 2008
    Messages:
    1,997
    Likes Received:
    996
    Reputations:
    155
    Быдлокод...
     
  16. .Sylar

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

    Joined:
    15 Jul 2008
    Messages:
    9
    Likes Received:
    17
    Reputations:
    -5
    спасибо конечно за коммент, но можно всё же на вопрос поставленный ответить?
     
  17. Велемир

    Joined:
    19 Jun 2006
    Messages:
    1,123
    Likes Received:
    96
    Reputations:
    -25
    Имеется пара массивов.Нужно замутить полный перебор элементов обоих:

    $passes= array();

    $hashes = array();

    пробовал мутить двойной foreach(),но получил только меганагрузку в ответ)):

    PHP:

    foreach($passes as $p) {


    foreach(
    $hashes as $s) {


    if(
    md5($p) == $s) {


    fwrite($fp2,"$s:$p\r\n");


    } } }

    Или конструкция левая,или проц)
     
  18. Kaimi

    Kaimi Well-Known Member

    Joined:
    23 Aug 2007
    Messages:
    1,732
    Likes Received:
    811
    Reputations:
    231
    Или у тебя там мегамассивы
     
    _________________________
  19. Fepsis

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

    Joined:
    17 Sep 2008
    Messages:
    791
    Likes Received:
    391
    Reputations:
    72
    Извините, если туплю... :rolleyes:
    Хидеры это что-то типо этого..?!?
    PHP:
    HTTP/1.1 200 OK DateSun17 May 2009 21:56:10 GMT ServerApache/2.2.11 (Unixmod_ssl/2.2.11 OpenSSL/0.9.8e-fips-rhel5 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635 PHP/5.2.8 X-Powered-ByPHP/5.2.8 Set-CookiePHPSESSID=6e7801e6c2d3d3bfd373657ad79daeddpath=/ ExpiresThu19 Nov 1981 08:52:00 GMT Cache-Controlno-storeno-cachemust-revalidatepost-check=0pre-check=0 Pragmano-cache Content-Length7082 Content-Typetext/html
    Тут только PHPSESSID
    Вариант:
    PHP:
    image.php?session=6e7801e6c2d3d3bfd373657ad79daedd
    не катит (каждый раз новая картинка появляется...)
    Вообще как можно определить идентификатор той или иной картинки капчи..?!?
    Вот пример картинки капчи с мейл.ру:
    http://win.mail.ru/cgi-bin/x_image?73911456&num=1&x_reg_id=zWSKV4PI
    для каждой картинки уникальный адрес... В моём же случае все картинки капчи имеют один и тот же адрес
    http://сайт.ком/image.php?
    Как быть..?!? :(
     
  20. NuR

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

    Joined:
    11 Dec 2005
    Messages:
    85
    Likes Received:
    58
    Reputations:
    -2
    тебе выдали идентификатор сессии 6e7801e6c2d3d3bfd373657ad79daedd

    ты по нему получешь картинку с изображением 2+3
    в ответ сервер ждет от тебя 5, и в сессию уже записывается другое значение чтобы генерить капчу. каждый раз будет генерироваться новая картинка. это как презервативы с одной коробки, коробка одна а изделия каждый раз новые.

    советую сходить на сайт http://www.captcha.ru/
    и слить там KCAPTCHA для ознакомления алгоритма генерации капчей, довольно наглядно
     
    #10000 NuR, 18 May 2009
    Last edited: 18 May 2009
Thread Status:
Not open for further replies.