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

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

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

    mrDebian Member

    Joined:
    27 Jan 2013
    Messages:
    96
    Likes Received:
    13
    Reputations:
    10
    Если в лоб, то регуляркой.
    Что-то вроде
    PHP:
    <?php
    $file 
    file_get_contents('proxy.txt');
    $matches = array();
    preg_match_all("/(\d{1,3}\.){3}\d{1,3}:\d{1,5}/"$file$matches);
    if (!empty(
    $matches[1])) {
      
    var_dump($matches);
    }
    ?>
     
    #21581 mrDebian, 7 May 2013
    Last edited: 7 May 2013
  2. Mykola-bas

    Mykola-bas New Member

    Joined:
    24 Apr 2008
    Messages:
    0
    Likes Received:
    1
    Reputations:
    0
    Проблемьі с GET запросом.
    К примеру, отправляю q=ма, в браурезе отображаеться как
    "%EC%E0" и естественно данье приходять кривьіе (в браузере отображается ��). urldecode и rawurldecode не помогают. Кодировка utf8.
    Как обработать такую строку?
     
    #21582 Mykola-bas, 8 May 2013
    Last edited: 8 May 2013
  3. mrDebian

    mrDebian Member

    Joined:
    27 Jan 2013
    Messages:
    96
    Likes Received:
    13
    Reputations:
    10
    Кодировка файла? Кодировка html?
    Попробуй жестко задать кодировку страницы через заголовки(или в браузере выбери нужную кодировку).
     
  4. GAiN

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

    Joined:
    2 Apr 2011
    Messages:
    2,550
    Likes Received:
    172
    Reputations:
    99
    Пришла такая мысль, а можно ли такой скрипт сделать что бы он мог менять Useragent Браузера ?
    войти и на странице ввести в форму url сайта, выбрать из списка заготовленные строки useragent , и при отправки откроется сайт через скрипт - но менять будет только useragent зашедшего браузера
     
  5. qaz

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

    Joined:
    12 Jul 2010
    Messages:
    1,551
    Likes Received:
    173
    Reputations:
    75
    нет, нельзя
     
  6. Chaak

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

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    PHP:
            curl_setopt($ch,CURLOPT_USERAGENT,'Opera/9.62 (Windows NT 6.0; U; ru) Presto/2.1.1');
    или отправка соотв. заголовка через соккет
    PHP:
    User-Agent:  Opera/9.62 (Windows NT 6.0UruPresto/2.1.1\r\n'
     
  7. AnGeI

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

    Joined:
    8 Dec 2008
    Messages:
    395
    Likes Received:
    79
    Reputations:
    16
    Вопрос по FFmpеg:

    Получаю frаmе в виде gd объекта -> ставлю водяной знак -> как его сохранить обратно?
     
  8. qaz

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

    Joined:
    12 Jul 2010
    Messages:
    1,551
    Likes Received:
    173
    Reputations:
    75
    Так на выходе будеу ip хостинга, а ему хотелось менять только юзер агент
     
  9. Chaak

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

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    если я про класс думаю
    $ffmpeg->output()

    qaz, никак
     
  10. LStr1ke

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

    Joined:
    29 Jul 2009
    Messages:
    801
    Likes Received:
    145
    Reputations:
    73
    Поищи такой плагин / расширение для своего браузера.
    Например для хрома: https://chrome.google.com/webstore/detail/user-agent-switcher-for-c/djflhoibgkdhkhhcedjiklpkjnoahfmg
     
  11. GAiN

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

    Joined:
    2 Apr 2011
    Messages:
    2,550
    Likes Received:
    172
    Reputations:
    99
    есть форма ввода:
    PHP:
    <html>
        <
    head>
        <
    title>Форма</title>
        </
    head>
        <
    body>

        <
    form method="post" action="handler.php">

        <
    p>Как вас зовут:</p>
        <
    input type="text" name="username"></p>

        <
    p>Ваш любимый цвет:
        <
    input type="radio" name="favoritecolor" value="r" /> Красный 
        
    <input type="radio" name="favoritecolor" value="g" /> Зелёный 
        
    <input type="radio" name="favoritecolor" value="b" /> Синий </p>

        <
    input type="submit" value="Submit" />

        </
    form>

        </
    body>
        </
    html>
    Всё нормально пока выбирается radio, но если сделать подмену (плагин Tamper Data) input type="radio" на checkbox - то при отправке запишется несколько результатов.
    как фофиксить подобный баг в php, можно ли запрещать вообще checkbox принимать а только radio ?
    по возможности вообще запретить приём множественного результата
     
  12. Chaak

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

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    А в чем собственно проблема?
    PHP:
    if(is_array($_POST['favoritecolor']))
        die(
    'массив')
    Ну или на крайний случай - проверку value каждого чекбокса из PHP.
     
  13. mrDebian

    mrDebian Member

    Joined:
    27 Jan 2013
    Messages:
    96
    Likes Received:
    13
    Reputations:
    10
    Если я правильно понял:
    PHP:
    $val $_POST['favoritecolor'];
    if (
    is_array($val))
      die(
    "Хохо");
     
  14. krepus

    krepus New Member

    Joined:
    27 Jun 2011
    Messages:
    1
    Likes Received:
    0
    Reputations:
    0
    Помогите подкоректировать скрипт.

    PHP:
    <?php

    ignore_user_abort
    (true);
    set_time_limit (0);
    ini_set('max_execution_time',0);

    $file file("domain.txt");
    $end count($file);
     
    for (
    $i 0$i $end$i++)
    {
       
    $hc curl_init();
       
    curl_setopt($hcCURLOPT_RETURNTRANSFERtrue);
       
    curl_setopt($hcCURLOPT_USERAGENT"Opera/9.61 (Windows NT 5.1; U; Edition Campaign 05; en) Presto/2.1.1");
       
    curl_setopt($hcCURLOPT_COOKIEFILE"cookie.tmp");
       
    curl_setopt($hcCURLOPT_COOKIEJAR"cookie.tmp");
       
    curl_setopt($hcCURLOPT_URL"http://ip-whois.net/whois.php?whois=".$file[$i]);
       
    $answer =  curl_exec($hc);
       
    preg_match("#e-mail:     (.*?)<br>#"$answer$out);
       
    $fp fopen('email.txt','a+');
       
    fputs($fp$out[1]."\r\n");
       
    fclose($fp);
       
    curl_close($hc);
       echo 
    "email для домена ".$file[$i]." успешно спарсен.<br>";
    }

    ?>

    Все вроде хорошо но вот сохроняет он в файл email.txt пустые строки в браузере выдает email для домена успешно спарсен.


    Ошибка в
    PHP:
    preg_match("#e-mail: (.*?)<br>#"$answer$out);
    На что и где поменять чтобы парс нормально начел сохранять? Зарание благодарен
     
    #21594 krepus, 14 May 2013
    Last edited: 14 May 2013
  15. Chaak

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

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    krepus, в выдаче сайта нет отображения e-mail'ов или оно не для всех доменов
    [​IMG]
     
  16. krepus

    krepus New Member

    Joined:
    27 Jun 2011
    Messages:
    1
    Likes Received:
    0
    Reputations:
    0
    Увы но не в этом кажись дело пересталял на http://2whois.ru/?data=&t=whois

    email для домена cityfun.ru успешно спарсен.
    email для домена karambas.ru успешно спарсен.
    email для домена friends.kz успешно спарсен.

    И все равно в файл сохроняються пустые строки
    Хотя на втором сайте если в ручную проверить выдает почту на меил.. Дело кажись все в тойже preg_match("#e-mail: (.*?)<br>#", $answer, $out);
     
  17. Chaak

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

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    заменить на
    PHP:
    preg_match('#[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}#Ui'$answer$out);
    и, да, мыла, как я и упомянул выше - не везде есть
     
  18. Kamik

    Kamik Member

    Joined:
    2 Dec 2008
    Messages:
    122
    Likes Received:
    85
    Reputations:
    8
    Ребятки, подскажите, достаточно ли для фильтрации фходящих данных (пишутся в MySQL) вот такого кода? Magic_quotes_gpc = ON

    PHP:
    $nick mysql_real_escape_string(stripslashes($_GET['nick']));
    или лучше сделать так?

    PHP:
    $nick mysql_real_escape_string(stripslashes(htmlspecialchars($_GET['nick'])));
     
    #21598 Kamik, 15 May 2013
    Last edited: 15 May 2013
  19. Konqi

    Konqi Green member

    Joined:
    24 Jun 2009
    Messages:
    2,251
    Likes Received:
    1,148
    Reputations:
    886
    если "nick" - строка, то да.

    htmlspecialchars() - для защита от клиентских атак. использовать надо во время вывода информации.
     
    _________________________
    #21599 Konqi, 15 May 2013
    Last edited: 15 May 2013
  20. Kamik

    Kamik Member

    Joined:
    2 Dec 2008
    Messages:
    122
    Likes Received:
    85
    Reputations:
    8
    nick - текстовое значение, берется для сравнения. А я добавлю htmlspecialchars? Пример выше, я просто не успел отредактировать до твоего ответа
     
Thread Status:
Not open for further replies.