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

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

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

    Jer1cho Member

    Joined:
    6 Jun 2008
    Messages:
    212
    Likes Received:
    65
    Reputations:
    10
    Помогите, есть например, такой вот список:
    PHP:
    173.21.0.0/17 Net10
    78.20.16.0
    /20 Net1
    81.254.224.0
    /20 Net1
    173.9.2.0
    /22 Net1
    10.15.26.0
    /20 Net2
    173.27.0.0
    /16 Net3
    95.74.197.0
    /18 Net1
    22.33.224.0
    /24 Net7
    Каким образом можно определить пренадлежность IP к этим маскам сетей? Пытался сопоставлять с помошью eregi, но так не всегда правльно определит конечно..? Больше на ум обсолютно ничего не приходит((..
    То есть например ип 173.21.26.32 определялся как Net10.
     
  2. .Begemot.

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

    Joined:
    27 Mar 2007
    Messages:
    148
    Likes Received:
    233
    Reputations:
    0
    Подскажите пожалуйста, как исправить, в цикле обрабатываются строки из файла и каждая строка загружается через команду - file_get_contents(); , в файле примерно 10 строк с линками, вроде все нормально должно быть, но скрипт загружает и выводит только 4 последних линка, а остальные пишет - failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found. Сами файлы существуют и по одному загружается нормально. Пробывал в ставлять в тело цикла sleep(10);, но результат не изменился. :confused:
     
    1 person likes this.
  3. NOmeR1

    NOmeR1 Everybody lies

    Joined:
    2 Jun 2006
    Messages:
    1,068
    Likes Received:
    783
    Reputations:
    213
    Jer1cho, если я правильно понял то вот так:
    Code:
    <?php
    $ip = '173.27.5.10';
    $list = '78.20.16.0/20 Net1
    81.254.224.0/20 Net1
    173.21.0.0/17 Net10
    173.9.2.0/22 Net1
    10.15.26.0/20 Net2
    173.27.0.0/16 Net3
    95.74.197.0/18 Net1
    22.33.224.0/24 Net7';
    $template = '~(\d+\.\d+\.\d+\.\d+)/\d+\s+(.+)~';
    preg_match_all($template, $list, $regular);
    for($i = 0; $i < sizeof($regular[0]); $i++) {
    	if(preg_match('~^'.str_replace('.', '\.', preg_replace('~(\.?)0(\.?)~', '$1\d+$2', $regular[1][$i])).'$~', $ip)) {
    		echo $regular[2][$i];
    		break;
    	}
    }
    ?>
     
    1 person likes this.
  4. .:EnoT:.

    .:EnoT:. Сексуальное чудовище

    Joined:
    29 May 2007
    Messages:
    803
    Likes Received:
    559
    Reputations:
    50
    мало чё понял, но то что понял имхо извращенство..
    попробуй чтоли так:
    PHP:
    $file file('123.txt');
    foreach (
    $file as $url){
       
    #какие-то действия с урлами
       
    echo $url.'<br/>';
    }
    Если удалённо, то попробуй так:
    PHP:
    $file file_get_contents('http://site.ru/123.txt');
    $arr explode("\n"$file);
    foreach (
    $arr as $ar){
       
    #какие-то действия
       
    echo $ar.'<br/>';
    }
    я прост хз что тебе конкретно нужно...
     
    1 person likes this.
  5. MafiaBoy3

    MafiaBoy3 Banned

    Joined:
    14 Apr 2007
    Messages:
    295
    Likes Received:
    15
    Reputations:
    1
    Помогите разобрать ссылку

    http://vkontakte.ru/photos.php?48069

    Мне непонятно откуда взялось число 48609 и что оно делает? У вконтакта ведь идёт построение страниц с указанием id пользователя а здесь?

    Что происходит когда я кликаю на ссылку?
    В скрипт photos.php передаётся переменная что ли? Или это mod rewrite постарался.

    У facebooka так вообще главная страница профайла имеет вид facebook.com/home.php? Зачем это?
     
    1 person likes this.
  6. NOmeR1

    NOmeR1 Everybody lies

    Joined:
    2 Jun 2006
    Messages:
    1,068
    Likes Received:
    783
    Reputations:
    213
    Нет, просто они вместо гет переменной id используют переменую $_SERVER["QUERY_STRING"]. На самом деле к пхп никакого отношения не имеет.
     
  7. n1†R0x

    n1†R0x Elder - Старейшина

    Joined:
    20 Jan 2007
    Messages:
    728
    Likes Received:
    376
    Reputations:
    235
    Позвольте с Вами не согласиться! ;)
    Постановка номера никоим образом не влияет на результат, я бы не стал так уверенно утверждать насчет QUERY_STRING, поскольку что бы пользователь ни ввел после "?", в любом случае попадет он именно на свои фото... (или на профиль и т.п.)

    update: потестил на чужом акке, даже при воспроизведении одинаковых действий (просмотр фото с конкретным другом и возврат на "Мою Страницу" числа были разными, 25xxx и 14xxx).
     
    #4307 n1†R0x, 27 Jul 2008
    Last edited: 27 Jul 2008
    1 person likes this.
  8. Doom123

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

    Joined:
    11 Nov 2006
    Messages:
    749
    Likes Received:
    244
    Reputations:
    22
    Иногда такой метод ипользуют чтоб брузер не кэшировал страницу

    например я в своей гостевухе использовал www.bla.bl/?.time()
     
  9. x-demon

    x-demon Elder - Старейшина

    Joined:
    10 Jun 2007
    Messages:
    315
    Likes Received:
    101
    Reputations:
    46
    Сокеты через прокси использовать можно? Если да, то как?
     
  10. DIAgen

    DIAgen Banned Life!

    Joined:
    2 May 2006
    Messages:
    1,055
    Likes Received:
    376
    Reputations:
    460
    Прочитай
    http://php.su/articles/?cat=protocols&page=012
     
  11. inlanger

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

    Joined:
    7 Jan 2007
    Messages:
    985
    Likes Received:
    283
    Reputations:
    27
    x-demon, работа с сокетами. (php)
    /* Пример: как скачать файл(страничку) через прокси.
    Прокси-сервер: IP: 192.165.0.10 PORT: 3128 */
    PHP:
        <?php  
        
    // так выглядит запрос   
        
    $head "GET http://www.rambler.ru HTTP/1.1\r\n\r\n";   
          
        
    // соединяемся с прокси сервером   
        
    $fp fsockopen("192.165.0.10"3128);   
          
        if(
    $fp) {// если все cool, то...   
           // передаем запрос   
          
    fputs($fp$head);   
          
    // читаем 65000 байт   
          
    $returndata fread($fp65000);   
         
    // закрываем соединение   
         
    fclose($fp);   
       }   
       
    // выводим результат   
       
    print $returndata;   
       
    ?>  
    это просто вариант
     
  12. Piflit

    Piflit Banned

    Joined:
    11 Aug 2006
    Messages:
    1,249
    Likes Received:
    585
    Reputations:
    31
    имхо не вариант
    $head = "GET / HTTP/1.1\r\nHost: rambler.ru\r\n\r\n";
    а если ответ >65000? как минимум, считывать надо в цикле, а лучше написать обработчик разных типов Connection, Transfer-Encoding и, разумеется, Content-Length.
     
  13. x-demon

    x-demon Elder - Старейшина

    Joined:
    10 Jun 2007
    Messages:
    315
    Likes Received:
    101
    Reputations:
    46
    Мгн вот такое было нужно =)
    PHP:
    <?php
    $host 
    "127.0.0.1";// ip адрес сервера или прокси-сервера
    $port 80;// порт сервера или прокси-сервера
    $socket socket_create(AF_INETSOCK_STREAM,0);
    $res socket_connect($socket$host$port);
    // дальше просто шлём данные какие необходимы: socket_write()
    ?>
     
  14. art012

    art012 New Member

    Joined:
    26 Jul 2008
    Messages:
    12
    Likes Received:
    0
    Reputations:
    0
    здравствуйте можете мне помоч в одном деле? я пытаюсь украсть куки в mail.ru, но я не знаю с помошю каких скриптов можно их украсть, я пытался найти в инете через $_SERVER и $_grt но не че не мог найти, если не трудно можите написать этот скрипт заранее спасибо!!
    вот тут http://video.antichat.ru/file232.html видео как угнать куки, я все сделал но не могу написать как угнать куки.
     
    #4314 art012, 27 Jul 2008
    Last edited: 27 Jul 2008
  15. BlackSun

    BlackSun Banned

    Joined:
    1 Apr 2007
    Messages:
    989
    Likes Received:
    1,168
    Reputations:
    446
    Видео уже старое, рыши свежую, рабочую XSS
     
  16. blood-looney

    blood-looney Elder - Старейшина

    Joined:
    21 May 2008
    Messages:
    2
    Likes Received:
    4
    Reputations:
    -5
    пишу бота
    есть java скрипт, который передаёт POST-ом такие вот разные параметры
    PHP:
    POST /battle.php act=weapx&sid=%ED%E5%F2&food_iid=0&items_iid=0&puton_iid=0&putoff_iid=0
    пробовал через дату
    PHP:
    $data="var=act=weapx&var2=sid=%ED%E5%F2 и так далее"
    подставлять но не пашет
    Какие ещё есть варианты
     
    #4316 blood-looney, 28 Jul 2008
    Last edited: 28 Jul 2008
  17. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,324
    Likes Received:
    1,193
    Reputations:
    252
    Nightmare, from php.net
    PHP:
    <?php
    // multiple recipients
    $to  '[email protected]', '// note the comma
    $to .= '[email protected]';

    // subject
    $subject 'Birthday Reminders for August';

    // message
    $message '
    <html>
    <head>
      <title>Birthday Reminders for August</title>
    </head>
    <body>
      <p>Here are the birthdays upcoming in August!</p>
      <table>
        <tr>
          <th>Person</th><th>Day</th><th>Month</th><th>Year</th>
        </tr>
        <tr>
          <td>Joe</td><td>3rd</td><td>August</td><td>1970</td>
        </tr>
        <tr>
          <td>Sally</td><td>17th</td><td>August</td><td>1973</td>
        </tr>
      </table>
    </body>
    </html>
    '
    ;

    // To send HTML mail, the Content-type header must be set
    $headers  'MIME-Version: 1.0' "\r\n";
    $headers .= 'Content-type: text/html; charset=iso-8859-1' "\r\n";

    // Additional headers
    $headers .= 'To: Mary <[email protected]>, Kelly <[email protected]>' "\r\n";
    $headers .= 'From: Birthday Reminder <[email protected]>' "\r\n";
    $headers .= 'Cc: [email protected]"\r\n";
    $headers .= 'Bcc: [email protected]"\r\n";

    // Mail it
    mail($to$subject$message$headers);
    ?>
     
    1 person likes this.
  18. Piflit

    Piflit Banned

    Joined:
    11 Aug 2006
    Messages:
    1,249
    Likes Received:
    585
    Reputations:
    31
    blood-looney
    пост данные в таком виде
    $data="act=weapx&sid=%ED%E5%F2 и так далее";
     
  19. MafiaBoy3

    MafiaBoy3 Banned

    Joined:
    14 Apr 2007
    Messages:
    295
    Likes Received:
    15
    Reputations:
    1
    Делаю на своём сайте возможность добавления комментариев. Форма примерно такая:
    HTML:
    <form action="chemberlen.php" method="post"><textarea name="message"></textarea></form>
    Как видите пока только одно поле-текстовая зона.
    Пользователь не вводит свои имя и фамилия чтобы добавить комментарий. Вопрос! А как скрипт chemberlen.php должен узнать имя и фамилия и дата того кто добавляет сообщение? Я так понимаю тут нужна СЕССИЯ. Помогите!

    Вопрос№2 Как хранить комментарии (ясно что в базе Mysql)? Всмысле мне не понятна структура таблицы (например messages). Как это сделать, неужели под каждое из комментарий нужно делать отдельное поле (нихрена себе додумался!). Вообщем второй вопрос меня тоже волнует!
     
  20. inlanger

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

    Joined:
    7 Jan 2007
    Messages:
    985
    Likes Received:
    283
    Reputations:
    27
    MafiaBoy3, ты сначала определись, что тебе надо. Если пользователь нигде на сайте не ввёл своего имени, то его ты никак не узнаешь, без дополнительных полей для ввода.
    А второй вопрос... Если тебе интересны такие вопросы, то почитай про создание баз данных "для чайников", теорию тут тебе не напишут. Одно могу сказать - руками создавать ничего не надо будет, всё делают скрипты.
     
    2 people like this.
Thread Status:
Not open for further replies.