Поставим задачу. Например, сделать небольшой брут. Логин известен.
Итак, создадим файл, содержащий пароли, разделяем переводом строк.
Создадим скрипт, в котором функцией explode сформируем массив.
<?php
$from = isset($_GET['from']) ? (int)$_GET['from'] : 0;
$num = 20;
$list = file_get_contents('./pass_list.txt');
$array = explode("\n", $list);
for($i=$from; $i<$from+$num; $i++){
$password = $array[$i];
#Тут присходит отправка заголовков, парсинг и т.д, использование прокси-сервера.
}
?>
Дак вот, в чем вопрос. Как тупо заставить запустить php-скрипт из другого скрипта и не более. Т.е. просто подать сигнал запуска и забить, делать свое дело?
Я так понимаю, что если организовать это дело банальным
file_get_contents('http://site.ru/brut.php?from=20');
то скрипт будет ожидать пока страница сформируется, т.е. сценарий выполнится, а уже потом продолжит работу. И тут как бы никакой многопоточности не получится.
Спустя 4 минуты, 28 секунд (5.09.2011 - 15:13) Winston написал(а):
$array = explode('\r\n', $list);
Заменить на
$array = explode("\n", $list);
Спустя 1 минута, 10 секунд (5.09.2011 - 15:14) XCross написал(а):
Спасибо, но боюсь мою задачу это не решит.
Спустя 5 минут, 25 секунд (5.09.2011 - 15:20) twin написал(а):
Нет, не решит. В курле помоему есть такая фишка, точнее не скажу. Ну или демона делать. А вообще не стоит микроскопом гвозди забивать.
Спустя 2 минуты, 34 секунды (5.09.2011 - 15:22) Winston написал(а):
Цитата (kmaks @ 5.09.2011 - 15:14) |
боюсь мою задачу это не решит |
Это так, на заметку... В одинарных кавычках \n воспринимается как строка и нифига разбито не будет.
Спустя 2 минуты, 47 секунд (5.09.2011 - 15:25) XCross написал(а):
Цитата |
Это так, на заметку... В одинарных кавычках \n воспринимается как строка и нифига разбито не будет. |
Знаю, знаю... в апострофах-строка, а в двойных - ни рыба, ни мясо
Спустя 15 минут, 40 секунд (5.09.2011 - 15:41) Nikitian написал(а):
Мультикурл есть. Он делает как раз параллельные запросы. Очень удобно, когда делал анализатор всяких данных домена и сайта, то работает в разы быстрее, чем делать всё последовательно.
Спустя 1 час, 2 минуты, 2 секунды (5.09.2011 - 16:43) XCross написал(а):
Решил тогда попробовать с редиректом, но фокус не проходит. Сам пока разобраться не могу. Помогите =)
<?php
define('QTY', 5);
$from = isset($_GET['from']) ? (int)$_GET['from'] : 0; # From
$file_content = file_get_contents('./password_list.txt'); # Get content from file
$passwords_array = explode("\r\n", $file_content); # Create array from $file_content
if(count($passwords_array) < ($from + QTY)){
die('End of File;');
}
$string = date('[Y/m/d H:i:s]'). "\r\n";
for($i = $from; $i < $from + QTY; $i++){
if(isset($passwords_array[$i])){
$string .= 'Password: '. $passwords_array[$i] ."\r\n";
}
else{
$string .= '== End of File =='."\r\n";
file_put_contents('./log.txt', $string, FILE_APPEND);
break;
}
}
$string .= "\r\n";
file_put_contents('./log.txt', $string, FILE_APPEND);
header('location: index.php?from='.$from + QTY);
?>
Спустя 6 часов, 5 минут, 11 секунд (5.09.2011 - 22:48) kirik написал(а):
Да, мультикурл офигенная штука! Сам юзал несколько раз
Но для задачи ТС больше всё-таки подойдёт расширение PCNTL (функция pcntl_fork() и иже с ней). Будет тебе многопоточная многопоточность
UPD
Можешь ещё этот пост почитать, для большего понимания.
Но для задачи ТС больше всё-таки подойдёт расширение PCNTL (функция pcntl_fork() и иже с ней). Будет тебе многопоточная многопоточность
UPD
Можешь ещё этот пост почитать, для большего понимания.
Спустя 4 дня, 33 минуты, 55 секунд (9.09.2011 - 23:22) Zerstoren написал(а):
Форкинг, на Питоновскую многопоточность похож)
Спустя 15 часов, 50 минут, 41 секунда (10.09.2011 - 15:13) sebastjan написал(а):
Мне кажеться в корне неправильно заниматься перебором паролей на ПХП, как минимум есть софт как максимум пишеться скрипт на шеле или питоне или ещё чем.
Спустя 5 часов, 12 минут, 32 секунды (10.09.2011 - 20:25) kirik написал(а):
Цитата (sebastjan @ 10.09.2011 - 08:13) |
как максимум пишеться скрипт на шеле или питоне или ещё чем. |
Разве будут существенные отличия в скорости?
_____________
Обмен Ukash на WebMoney