Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » Разное - скрипт на PHP

Ответить
Настройки темы
Разное - скрипт на PHP

Аватара для P O M A

Старожил


Сообщения: 405
Благодарности: 25


Конфигурация

Профиль | Отправить PM | Цитировать


Помогите написать скрипт!(сам в PHP почти никак)
Он должен 3 раза посылать запрос на ссылку, дожидаться загрузки страницы, 1 раз на вторую, потом опять на первую...Запросы скрипта должны выглядеть как у обычного браузера, выполняться на сервере

Отправлено: 16:11, 16-12-2007

 

Аватара для Coutty

Кот Ти


Сообщения: 7318
Благодарности: 1204

Профиль | Отправить PM | Цитировать


Так помогите или напишите?)

Цитата P O M A:
1 раз на вторую, потом опять на первую... »
Чего?

PHP код: Выделить весь код

<?php

// сначала составляем HTTP-запрос
$head 'GET /script.php?parameter=nya HTTP/1.1
User-Agent: Opera/9.20 (Windows NT 5.1; U; ru)
Host: www.oszone.net
Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1
Accept-Language: ru-RU,ru;q=0.9,en;q=0.8
Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1
Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0
Referer: http://www.oszone.net /* а может и с двумя r пишется - referrer. Хз. */
Cookie: remixchk=2; /*в общем, тут куки перечислить, если надо*/
'
// конец запроса 

$fp fsockopen ("www.oszone.net"80$errno$errstr30); // открываем сокет
if (!$fp) {
    echo 
"$errstr ($errno)<br>\n"// если не открыл - плохо
} else { // если открыл
    
fputs ($fp$head); // отправляем запрос
    
while (!feof($fp)) { // и получаем ответ
        
echo fgets ($fp,1280000);
    }
    
fclose ($fp); // ответ получили, сокет закрываем.
}

// и продолжаем делать то, что надо.

GET-запрос (аналогично и с POST) можно словить через анализатор трафика (он же сниффер). Например, wireshark. И всё вписать в $head.
Это сообщение посчитали полезным следующие участники:

Отправлено: 17:08, 16-12-2007 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для Arrest

runs with scissors


Сообщения: 642
Благодарности: 77

Профиль | Отправить PM | Цитировать


Для случая P O M A, наверное, нужно так:
PHP код: Выделить весь код

<?php

//Запрос к первой странице
$q1 "GET /page1 HTTP/1.1\r\nUser-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Linux i686)\r\nHost: www.ru\r\n\r\n";

for(
$i=0$i<3$i++){
    
$fp fsockopen ("http://www.ru"80$errno$errstr30); // открываем сокет 
    
if (!$fp) { 
        echo 
"$errstr ($errno)<br>\n"// если не открыл - плохо 
    
} else { // если открыл 
        
fputs ($fp$q1); // отправляем запрос 
        
while (!feof($fp)) { // и получаем ответ 
            
echo fgets ($fp,1280000); 
        } 
     
fclose ($fp); // ответ получили, сокет закрываем. 
     
unset($fp);


$q2 "GET /page2 HTTP/1.1\r\nUser-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Linux i686)\r\nHost: www.ru\r\n\r\n";

$fp fsockopen ("http://www.ru"80$errno$errstr30); // открываем сокет 
    
if (!$fp) { 
        echo 
"$errstr ($errno)<br>\n"// если не открыл - плохо 
    
} else { // если открыл 
        
fputs ($fp$q2); // отправляем запрос 
        
while (!feof($fp)) { // и получаем ответ 
            
echo fgets ($fp,1280000); 
        } 
     
fclose ($fp); // ответ получили, сокет закрываем. 
}

$fp fsockopen ("http://www.ru"80$errno$errstr30); // открываем сокет 
if (!$fp) { 
    echo 
"$errstr ($errno)<br>\n";
} else { 
// если открыл 
    
fputs ($fp$q1); // отправляем запрос 
    
while (!feof($fp)) { // и получаем ответ 
        
echo fgets ($fp,1280000); 
   } 
fclose ($fp);
unset(
$fp);

Скрипт переделан из Coutty'евского

-------
- Why do you call this version of software 'beta'?
- Coz it's beta than nothing.


Отправлено: 18:52, 16-12-2007 | #3


Аватара для P O M A

Старожил


Сообщения: 405
Благодарности: 25

Профиль | Отправить PM | Цитировать


ну это типа накрутчика

Отправлено: 18:53, 16-12-2007 | #4


Аватара для Arrest

runs with scissors


Сообщения: 642
Благодарности: 77

Профиль | Отправить PM | Цитировать


счетчики надо накручивать по другому. надо запрашивать их картинку, а не всю страницу.

-------
- Why do you call this version of software 'beta'?
- Coz it's beta than nothing.


Отправлено: 19:03, 16-12-2007 | #5


Аватара для Coutty

Кот Ти


Сообщения: 7318
Благодарности: 1204

Профиль | Отправить PM | Цитировать


Накрутка будет обнаружена, если запрашивать с одного IP-адреса.

Отправлено: 19:09, 16-12-2007 | #6


Аватара для P O M A

Старожил


Сообщения: 405
Благодарности: 25

Профиль | Отправить PM | Цитировать


не, это не накрутчик счётчиков и по IP не вычислят.Arrest, этот скрипт такой, какой мне надо? И как я понял, вместо http://ww.ru нухно писать свой URL? Как эту накрутку можно будет остановить?

Отправлено: 19:31, 16-12-2007 | #7


Аватара для P O M A

Старожил


Сообщения: 405
Благодарности: 25

Профиль | Отправить PM | Цитировать


а вот ещё вопросы: после host нужно писать сайт, где лежит скрипт или сайт-жертву? В 3ем открытии сокета какую ссылку нужно писать(page1,page или чтото другое)?

Отправлено: 20:17, 16-12-2007 | #8


Аватара для Coutty

Кот Ти


Сообщения: 7318
Благодарности: 1204

Профиль | Отправить PM | Цитировать


Цитата P O M A:
ак эту накрутку можно будет остановить? »
Скрипт сам остановится через max_execution_time, установленное в httpd.conf. Обычно это 30 секунд.
Даже если он не успеет сделать ни одного запроса))
Но тут только 5 запросов в скрипте. Если нужен цикл - нужно его ещё сделать.
Вообще, должен быть ещё спецплагин к php, позволяющий работать с сокетами. Проверь, будет ли вообще работать.
Цитата P O M A:
после host нужно писать сайт, где лежит скрипт или сайт-жертву? »
Туда будет отправляться запрос. Вообще, я не совсем понимаю, зачем это писать, если всё равно на тот сайт отправляешь.
Цитата P O M A:
вместо http://ww.ru нухно писать свой URL »
Вместо него надо писать адрес, на который отправляешь запрос.

Отправлено: 21:09, 16-12-2007 | #9


Аватара для Arrest

runs with scissors


Сообщения: 642
Благодарности: 77

Профиль | Отправить PM | Цитировать


Coutty,
Цитата Coutty:
ачем это писать, если всё равно на тот сайт отправляешь. »
RFC 2616, секция 14.23:
Цитата:
A client MUST include a Host header field in all HTTP/1.1 request messages.
...
All Internet-based HTTP/1.1 servers MUST respond with a 400 (Bad Request) status code to any HTTP/1.1 request message which lacks a Host header field.
То бишь с HTTP 1.1 заголовок Host необходим, и на запросы без него сервак будет матюгаться 400-ой ошибкой.
P O M A
Ага. Это тот скрипт.
Да. Надо менять.

-------
- Why do you call this version of software 'beta'?
- Coz it's beta than nothing.


Отправлено: 23:19, 16-12-2007 | #10



Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » Разное - скрипт на PHP

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Проблема с PHP(не передаются переменные из формы в PHP- скрипт) Kirander Вебмастеру 21 03-08-2009 01:11
[решено] Выборка из БД не обрабатывает скрипт php Artem-Samsung Вебмастеру 7 17-07-2008 18:01
Скрипт публикации на PHP Netloger Вебмастеру 7 10-10-2006 00:34
Скрипт на PHP не полностью работает... Leon71 Вебмастеру 9 26-09-2003 21:12
Скрипт php - поиск по сайту tradeukraine Вебмастеру 10 19-07-2003 08:50




 
Переход