![]() |
Php и многопоточность
Интро Иногда бывают ситуации, требующие быстро обработать информацию. Например, при работе с несколькими тысячами записей БД, не заставляя пользователя долго ждать. К сожалению PHP обладает небольшими возможностями при роботе с потоками, здесь козыри в руках PERL. Но именно о многопоточности в PHP мы и будем говорить. О многопоточности в PERL можно прочитать в статье KSURi. _http://forum.antichat.ru/thread28020.html In da work Для примера возьмем более привычную задачу – брут(или хттп флуд=)). Итак работать будем с сокетами. Брутить будем какой нибудь пароль в админку. Комменты и обьяснения в самом скрипте. В начале скрипта идут простые параметры. Максимальное число потоков не рекомендую ставить слишком большим =) С целью экономии памяти ограничим максимальную длину пароля. Если скрипт не требует логина - пропустите соответствующую настройку. Если вы незнаете ответа скрипта при правильном пароле, напишите в $stop_condition ответ при неправильном а в скрипте перед preg_match доставьте - "!" Цитата:
Смысл многопоточности в паралельно работающих соединениях. Их хендлеры заносятся в масив, не превышающий $threads. Отработавшие сокеты удаляются из масива освобожная место новым. Каждый считаный из словаря пасс формирует новый запрос. Следующий пасс - новый поток. Цитата:
Естественно это не единственный способ. Скрипт полностью работоспособный, но на баги не проверял. В общем есть смысл доработать и/или модернизировать. Целью было показать один из способов увеличения скорости работы в PHP. |
Бреед. Такую "многопоточность" (т.е. для неблок. сокетов) можно мутить токма функциями socket_ (если пхп собран с их поодержкой).
Как у меня тут например: http://zadoxlik.info/portscan А вообще слишком громко назвал тему чтобы написатьв ней только такую какашку |
Цитата:
Насчёт названия топика - ыыы блин, ты прав, немного не так |
У тебя блокируется выполнение в момент подкючения к хосту
|
Собственно ... уже давно пользуюсь более функциональным отлаженым скриптом на основе этого. Этот же скрипт я писал по-быстрому, даже не проверил на ошибки, ведь он работает у меня более пол года. Целью было показать идею, и возможно сам скипт не отлажен.
|
Гг. Серия статей про треады?
Остались треды на питоне :) |
Поидее на пхп вроде как вообще многопоточность не возможна так что думаю с названием переборщил ты чутка)
|
Был уже миллион обсуждений этой темы. Доходило до холиваров Perl vs PHP.
Но суть не в этом... Скрипт дает прирост скорости? - Да. Значит все нормально. Не стоит ругаться на его трактовку термина "многопточность". Главное что прирост есть, а термины это ***## |
Цитата:
|
Это не потоки
|
| Время: 02:27 |