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

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

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

    PabloMon New Member

    Joined:
    3 Feb 2012
    Messages:
    6
    Likes Received:
    1
    Reputations:
    0
    1) Выведи $header перед отправкой, после формитрования POST заголовков и тела запроса. Это чтобы точно знать, что изначально отправляется нормальный запрос.

    2) Отправь запрос на какую-нибудь свою страницу, на которой выведи его, и посмотри, как запрос выглядит на ней. Это чтобы понять, что проблема не в снифере, лол.
     
  2. shadowrun

    shadowrun Banned

    Joined:
    29 Aug 2010
    Messages:
    842
    Likes Received:
    170
    Reputations:
    84
    Актуально :cool:
     
  3. krypt3r

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

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    Сделайте вывод переменных в браузер/консоль. От вашего бездействия со словом "актуально" ничего само собой не заработает
     
  4. shadowrun

    shadowrun Banned

    Joined:
    29 Aug 2010
    Messages:
    842
    Likes Received:
    170
    Reputations:
    84
    Делал и нераз. Все переменные в браузере выводяться нормально. Снифер тоже какбэ рабочий, но почему так происходит я хз.
     
  5. krypt3r

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

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    У вас на скрине в hash[_csrf_token] залезли HTTP-заголовки. Что они там делают? Что выведется в браузер, если после строки
    PHP:
    $hash_csrf_token=substr(someparse); // это что вообще за псевдокод?
    добавить
    PHP:
    die ('F**cking token' $hash_csrf_token);
    ?
     
  6. shadowrun

    shadowrun Banned

    Joined:
    29 Aug 2010
    Messages:
    842
    Likes Received:
    170
    Reputations:
    84
    F**cking tokenacc9c21a35235328c3ed41366b497f2a
    И после добавления этой надписи пост запрос не идет.
     
    #20726 shadowrun, 15 Jun 2012
    Last edited: 15 Jun 2012
  7. krypt3r

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

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    Точно также сдампите $header перед вызовом fsockopen(). И замените "POST someuri/request" на "POST /someuri/request"
     
  8. shadowrun

    shadowrun Banned

    Joined:
    29 Aug 2010
    Messages:
    842
    Likes Received:
    170
    Reputations:
    84
    PHP:
    <?php $header="";
     
    $header="GET /webcrack HTTP/1.0\r\n";
     
    $header=$header."Accept-Language: en-us,en;q=0.5\r\n";
     
    $header=$header."Accept-Charset: utf-8,*;q=0.7\r\n";
     
    $header=$header."Accept: text/html,image/jpeg,image/gif,text/xml,text/plain,image/png,*/*;q=0.5";
     
    $header=$header."User-Agent: User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; ru) Opera 8.50\r\n";
     
    $header=$header."Connection: keep-alive\r\n";
     
    $header=$header."Host: c0llision.net\r\n\r\n";
      
    $dt="";
     
    $fp=fsockopen("c0llision.net"80);
     
    fwrite($fp$header);
     while(!
    feof($fp)) {
      
    $dt.=fread($fp1024);
       }
     
    fclose($fp);
     
    $hash_csrf_token="";
     
    $hash_csrf_token=substr($dt,strpos($dt,"name=\"hash[_csrf_token]\" value=\"")+32,32);
     die(
    'F**cking token' $hash_csrf_token);
        
    $header="";
     
    $data "hash[_input_]=aeb4a56435de6112f6ec25ae8df62a26&hash[_csrf_token]=".$hash_csrf_token;
     
    $header="POST /webcrack/request HTTP/1.1\r\n";
     
    $header=$header."Accept-Language: en-us,en;q=0.5\r\n";
     
    $header=$header."Accept-Charset: utf-8,*;q=0.7\r\n";
     
    $header=$header."Accept: text/html,image/jpeg,image/gif,text/xml,text/plain,image/png,*/*;q=0.5\r\n";
     
    $header=$header."User-Agent: User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; ru) Opera 8.50\r\n";
     
    $header=$header."Connection: keep-alive\r\n";
     
    $header=$header."Host: c0llision.net\r\n\r\n";
     
    $header=$header.$data."\r\n";
      
    $fp=fsockopen("c0llision.net"80);
     
    fwrite($fp$header);
     while(!
    feof($fp)){     
    $answer.= fread($fp1024);
     }
     
    fclose($fp);
     echo 
    $answer;
     echo 
    "$header";
     echo 
    "hash_csrf_token"
     
    flush();
     
    ?>
    Вот мой скрЯпт. Может у меня действительно с руками что-то не то, но переменные выводит нормально...
     
  9. mironich

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

    Joined:
    27 Feb 2011
    Messages:
    733
    Likes Received:
    73
    Reputations:
    19
    shadowrun, юзай регулярки не так продуктивно но код читабельней станет.
     
  10. krypt3r

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

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    shadowrun, куку выцепляйте и пересмотрите пост-запрос — добавьте Content-Type, Content-Length, X-Requested-With, Cookie, Referer и, возможно, Origin. Но без куки вы не получите ответа.

    PS. А почему сокеты, а не curl?
     
    1 person likes this.
  11. shadowrun

    shadowrun Banned

    Joined:
    29 Aug 2010
    Messages:
    842
    Likes Received:
    170
    Reputations:
    84
    Спасибо учту, но меня интересует, почему к моим параметрам добавляется вообще левый текст?
    Быстрее на сокетах вроде, да и принцип мне понятнее...
     
  12. Wakko

    Wakko New Member

    Joined:
    1 Jun 2009
    Messages:
    36
    Likes Received:
    2
    Reputations:
    0
    Нуждаюсь в помощи.
    Есть html текст
    PHP:
    КУЧА html тегов <a href="/pictures/view_post/1234567?lang=ru"
                
    title="text text text"
            
    ><img id="common_preview_1234567"
                
    alt="text text text"
                
    src="http://site.org/images/0e0/0e01833a6e61e2adc5_bp.jpg" /></aКУЧА html тегов 
    Нужно выбрать из него адрес картинки, цифры в id и поле alt.
    Пробовал через preg_match_all, но успеха не добился.
     
  13. mironich

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

    Joined:
    27 Feb 2011
    Messages:
    733
    Likes Received:
    73
    Reputations:
    19
    Тут парсить не мало(больше чем 2 значения), смотри в сторону dom/
     
  14. qaz

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

    Joined:
    12 Jul 2010
    Messages:
    1,551
    Likes Received:
    173
    Reputations:
    75


    PHP:
    preg_match("/<img id=\"common\_preview\_(.*?)\"/",$a,$number_id);
    preg_match("/alt=\"(.*?)\"/",$a,$alt);
    preg_match("/src=\"(.*?)\"/",$a,$src);

    echo 
    $number_id[1]."<br>".$alt[1]."<br>".$src[1];
     
  15. justonline

    justonline network ninja

    Joined:
    27 Jul 2011
    Messages:
    499
    Likes Received:
    60
    Reputations:
    53
    Меня волнует вопрос... есть некоторая информация, которую должен получить скрипт. Запросы идут часто. Что быстрее будет работать - текстовая бд или Mysql? бд примитивная - строки с текстовыми данными.
     
  16. krypt3r

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

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    qaz, хорош ерунду всякую писать. Атрибуты alt и src могут быть не только у IMG
     
  17. PabloMon

    PabloMon New Member

    Joined:
    3 Feb 2012
    Messages:
    6
    Likes Received:
    1
    Reputations:
    0
    PHP:
    preg_match('#<a [^>]+>\s*<img\s*id="([^"]+)"\s*alt="([^"]+)"\s*src="([^"]+)"\s*/>\s*</a>#is'твой_хтмл$m)
    В $m[1] будет id, в $m[2] - alt, $m[3] - адрес картинки.
    Это при условии, если в хтмл нет дркгих конструкций, подобных этой - <a><img></a>
     
    1 person likes this.
  18. mironich

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

    Joined:
    27 Feb 2011
    Messages:
    733
    Likes Received:
    73
    Reputations:
    19
    Текстовая есс-но, попробуй не реляционные.
     
  19. qaz

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

    Joined:
    12 Jul 2010
    Messages:
    1,551
    Likes Received:
    173
    Reputations:
    75
    Такой вопрос, сори если не очень в тему, когда отправляешь письмо функцией mail() какая инфа сохраяется в логах? сохраняется ли тело письма или нет?
     
  20. mironich

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

    Joined:
    27 Feb 2011
    Messages:
    733
    Likes Received:
    73
    Reputations:
    19
    Безопасен ли такой код?


    PHP:
      $pages = array(); //Массив с именами допустимых стр.
            //$_GET['page'] имя  нужной стр.
     
    if (!isset($_GET['page'])) {
        
    header('Location: index.php?page=auth');
        exit();
      }
      
      
                                       
    //Проверяем передано ли нормальное имя стр.
      
    if (!in_array($_GET['page'], $pages)) {
         
    header('Location: index.php?page=auth');
         exit();
      }
                 
      
       if (!
    $page file_get_contents('pages/'.$_GET['page'].'.html')) {
           die(
    'Внутренняя ошибка обновитке пожалуйста стр.'); 
       }
     
Thread Status:
Not open for further replies.