ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #11  
Старый 30.09.2006, 21:40
ZaCo
Banned
Регистрация: 20.06.2005
Сообщений: 880
Провел на форуме:
4610226

Репутация: 1332


По умолчанию

2KSURi это еще хуже
2St__one полный бред понимаешь?
 
Ответить с цитированием

  #12  
Старый 30.09.2006, 22:01
Pochka
Познающий
Регистрация: 26.11.2005
Сообщений: 32
Провел на форуме:
47872

Репутация: 20
По умолчанию

Цитата:
Сообщение от ZaCo  
2KSURi это еще хуже
Кто тебе поведал? Конечно неблокирующим вводом\выводом в т.ч. в/из сокетов многопоточность в полном смысле слова заменить нельзя, но для подавляющего большинства всех задач, которые захотят решать местные Хакеры этого будет вполне достаточно
 
Ответить с цитированием

  #13  
Старый 30.09.2006, 22:18
nerezus
Pagan Heart
Регистрация: 12.08.2004
Сообщений: 3,791
Провел на форуме:
6490435

Репутация: 2290


Отправить сообщение для nerezus с помощью ICQ
По умолчанию

Цитата:
2KSURi это еще хуже
+1, такого бреда давно не видел )
 
Ответить с цитированием

  #14  
Старый 30.09.2006, 22:38
off
Познающий
Регистрация: 21.08.2006
Сообщений: 31
Провел на форуме:
450990

Репутация: 21
По умолчанию

На каком – то сайте видел вот такой пример «многопоточности». Тут естественно идёт симуляция, т.к. в php многопоточности нет. Пример никогда не использовал, т.к. так и не встретился с задачей в которой это хоть чем то помогло.


PHP код:
config.php

// путь, где расположены скрипты
$path http://domain.com/path/;

// число потоков
$max_threads 20;

 

launcher.php

require_once(”config.php”);

// инициализация

$sockets = array();
$done false;

// будем работать, к примеру с набором
// ключевых слов

$keywords fopen(”keywords.txt”“r”);

// приступаем к многопоточной работе

while (!$done)
{
    
// если обнаружен файл,
    // то прекращаем выполнение скрипта

    
if (file_exists(”stop-file”))
        die;
   
    
// если число запущенных потоков меньше
    // разрешенного максимума
    // то запускаем потоки еще
   
    
if ($max_threads count($sockets))
    {
    
  if (!
feof($keywords))
        {
            
$buffer = array();
           
            
// читаем ключевое слово
            // в реальности в этот массив можно
            // положить очень много всего
            // а не только одно ключевое слово…
           
             
$buffer[] = trim(fgets($keywords));
           
            
// задаем данные для запуска сокета
            // request.php - это тот файл,
            // которые делает “дело”
           
            
$query_url $path “request.php”;
            
$url_info parse_url($query_url);

            
$url_info[port] = ($url_info[port]) ? $url_info[port] : 80;
            
$url_info[path] = ($url_info[path]) ? $url_info[path] : /;
            
$url_info[query] = ($url_info[query]) ? ?” $url_info[query] : “”;

            
// пакуем данные для передачи
            // в генерирующий скрипт
            // использование serialize очень удобно,
            // так как позволяет
            // залить в request.php мегабайты данных
           
            
$request serialize($buffer);
           
            
// формируем запрос для передачи по сокету
           
            
$query “POST ” $url_info[path] . ” HTTP/1.1\r\n”;
            
$query $query “Content-Typetext/xml\r\n”;
            
$query $query “Host” $url_info[host] . \r\n”;
            
$query $query “Content-length” . (strlen($request)) . \r\n\r\n”;
            
$query $query $request;
           
            
// создаем сокет, переводим его
            // в неблокирующий режим и запускаем
            // обработчик запросов
           
            
$errno 0;
            
$error “”;
           
            
$socket fsockopen($url_info[host], $url_info[port], $errno$error30);
            
stream_set_blocking($socket0);
            
stream_set_timeout($socket3600);
            
fputs($socket$query);
           
            
// запоминаем запущенный сокет
           
            
$sockets[md5(time())] = $socket;
        }
    }
   
    
// читаем данные из сокета. формально они нам
    // не нужны, но это позволяет
    // отработать обработчкику запросов
   
    
reset($sockets);
    while (
$socket current($sockets))
    {
        if (
feof($socket))
        {
            
// убиваем сокет, который отработал
           
            
unset($sockets[key($sockets)]);
        }
        else
        {
            
// читаем данные из сокета
           
            
$temp fgets($socket1000);
        }
       
        
// обрабатываем следующий сокет
       
        
next($sockets);
    }
   
    
// делаем небольщую задержку,
    // иначе загруженность сервера
    // приближается к 100 процентам
   
    
sleep(1);
   
    
// если нет активных сокетов, то можно выходить
   
    
if (count($sockets) == 0)
        
$done true;
}

fclose($keywords);

die; 
может кому то пригодится ...
 
Ответить с цитированием

  #15  
Старый 30.09.2006, 22:47
Pochka
Познающий
Регистрация: 26.11.2005
Сообщений: 32
Провел на форуме:
47872

Репутация: 20
По умолчанию

Цитата:
Сообщение от off  
На каком – то сайте видел вот такой пример «многопоточности». Тут естественно идёт симуляция, т.к. в php многопоточности нет. Пример никогда не использовал, т.к. так и не встретился с задачей в которой это хоть чем то помогло.




может кому то пригодится ...
=) Это нам только что показывали, здесь "многопоточность" реализована безобразно, но смысл понятен, если сделать тоже самое с функциями socket_ и использованием селеста, то можно сделать замечательно работающие программы с распараллеленной работой с серверами (например для брута, скана и т.д. Так же таким образом делается кроссплатформенные серверы на PHP)
 
Ответить с цитированием

  #16  
Старый 30.09.2006, 22:49
Sw%00p
Banned
Регистрация: 13.04.2006
Сообщений: 65
Провел на форуме:
160575

Репутация: -1
По умолчанию

правильно в пхп нет многопоточности так как пхп это интерпретаторны а не компиляторный язык программинга
в пхп разные части кода одновременно выполнять нльзя и циклы это не многопоточность если тока в одном цикле не указатть к примеру десять коннектов одновременно но всё же не закончив один коннект к другому не перейдёт он он же построчно читает и выполняет
а компиляторные другое дело
 
Ответить с цитированием

  #17  
Старый 30.09.2006, 23:03
KSURi
Постоянный
Регистрация: 06.06.2006
Сообщений: 515
Провел на форуме:
1985206

Репутация: 963


По умолчанию

nerezus, zaco
тем не менее этот пример довольно рапространен.
 
Ответить с цитированием

  #18  
Старый 30.09.2006, 23:19
ZaCo
Banned
Регистрация: 20.06.2005
Сообщений: 880
Провел на форуме:
4610226

Репутация: 1332


По умолчанию

с таким же успехом можно и system('php '.__file__) мутить) с передачей левого параметра. вообще согласен с Pochka - елси необходимо реализовывать многопоточность для работы с сокетами то лучше просто юзать их в неблокирующем режиме... только вот функции для этого не вкулючены по-умолчанию - используем php_sockets.
2Sw%00p а перл с питоном это бабушкины сказки?) что мешает выполнять многопоточность в скриптовом языке программирования? разве интерпретатор не может этого уследить?

Последний раз редактировалось ZaCo; 30.09.2006 в 23:21..
 
Ответить с цитированием

  #19  
Старый 30.09.2006, 23:27
SMiX
Участник форума
Регистрация: 25.07.2005
Сообщений: 246
Провел на форуме:
457850

Репутация: 174
По умолчанию

Бэмц. Не в состоянии сейчас ситать весь топик, скажу из своего опыта - pcntl - спец. модуль пхп для многопоточности. Чтобы была поддержка, нужно компиллить с опцией --with-pcntl. Также можно делать exec('php thread.php параметры_или_файл_с_сериал айзнутым_массивом_параметр ов &') system('аналогично') и прочее. Для каждого случая нужен свой способ: если вы пишете для себя, можно юзеть pcntl, если какой-нибудь скрипт, предназначенный для массового распространения, лучше юзать системные вызовы, т.к. pcntl установлен далеко не везде, а рут есть не у всех сами понимаете . Некоторые еще извращаются с ифреймами... Но по мне так если скрипт многопоточный, значит он серьезный, и тут мне больше нравится консольная реализация. Можно лишь написать админку с использованием хтмл, которая, в свою очередь, будет запускать главный скрипт или сразу потоки... ВОт такой вот бред сбодуна получился
 
Ответить с цитированием

  #20  
Старый 01.10.2006, 01:14
Sw%00p
Banned
Регистрация: 13.04.2006
Сообщений: 65
Провел на форуме:
160575

Репутация: -1
По умолчанию

Цитата:
Сообщение от ZaCo  
с таким же успехом можно и system('php '.__file__) мутить) с передачей левого параметра. вообще согласен с Pochka - елси необходимо реализовывать многопоточность для работы с сокетами то лучше просто юзать их в неблокирующем режиме... только вот функции для этого не вкулючены по-умолчанию - используем php_sockets.
2Sw%00p а перл с питоном это бабушкины сказки?) что мешает выполнять многопоточность в скриптовом языке программирования? разве интерпретатор не может этого уследить?
бля речь шла о пхп а не о перле как ты можешь в скрипте одновременно выполнить две процедуры да ни как интерпретатор читает построчно и выполняет поочереди
а вот например в Делфи можно открыть букет сокетов вот те и многопоточность а в пхп невозможно тока из за того что он интерпретаторный
опять таки цикл это не многопоточность
если так говоришь про многопоточность то напарь
любой скриптик где одновременно 10 коннектов было
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Books PHP FRAGNATIC PHP, PERL, MySQL, JavaScript 186 21.02.2010 02:41
Books PSalm69 Избранное 248 27.10.2009 04:52
На PHP, как на "Новые ворота"... Mertvii-Listopad Чужие Статьи 7 18.09.2006 12:42
Безопасность в Php, Часть Iii k00p3r Чужие Статьи 0 11.07.2005 19:02
Защищаем Php. Шаг за шагом. k00p3r Чужие Статьи 0 13.06.2005 11:31



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ