HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

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

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

  #1401  
Старый 05.01.2010, 04:41
Fepsis
Постоянный
Регистрация: 17.09.2008
Сообщений: 562
Провел на форуме:
6962560

Репутация: 536


По умолчанию

Вопрос по потокам:

В скрипте задаётся массив @bas с некоторым количеством элементов...

Создаю процедуру, которая извлекает по одному элементу массива и дописывает его в файл... Сама процедура:
PHP код:
sub gogo
{
   
my ($name) = @_;
   while(
$elm shift(@bas))
   {
      
open(OUT">> $name.txt");
      print 
OUT "$elm\r\n";
      
close(OUT);
   }

Далее создаю несколько потоков, выполняющих функцию gogo и прописываю ждать завершения работы всех потоков...
PHP код:
foreach $ac (@acc)
{
    
push @threadsthreads->create(\&gogo$ac);
}


foreach 
my $thread (@threads
{
    
$thread->join();

Каждый поток создаёт свой файл, куда записывает элементы массива, которые он обработал (извлёк из массива)...
Что я ожидал от работы этого скрипта..?? Ожидал я, что элементы массива @bas будут распределены по файлам потоков.. тоесть первый поток вытащил первый элемент, записал в свой файл, второй поток - второй элемент, и записал уже в свой файл.. и т.д.

А в результате каждый поток пробегает весь массив целиком... Причём я даже пробовал каждому из потоков задать разные задержки.. Почему так происходит, я же извлекаю элементы с помощью shift, который удаляет элемент..?! Как лучше реализовать задуманное..?!
 
Ответить с цитированием

  #1402  
Старый 05.01.2010, 05:09
Spyder
Members of Antichat - Level 5
Регистрация: 09.10.2006
Сообщений: 1,698
Провел на форуме:
9098076

Репутация: 4303


По умолчанию

Ох уж эти потоки( Точно не помню, но вроде должно помочь

use threads::shared;
my @bas : shared;
 
Ответить с цитированием

  #1403  
Старый 05.01.2010, 16:42
BluR
Познающий
Регистрация: 06.08.2009
Сообщений: 56
Провел на форуме:
425261

Репутация: 29
Отправить сообщение для BluR с помощью ICQ
По умолчанию

Цитата:
Сообщение от BluR  
такая проблема ...
получаю в ответ от сервера ошибку ...

Validation of viewstate MAC failed. If this application is hosted by a Web Farm or cluster, ensure that <machineKey> configuration specifies the same validationKey and validation algorithm. AutoGenerate cannot be used in a cluster.

перевод :

Подтверждение ViewState MAC неудачу. Если это приложение размещается веб-фермы или кластере, убедитесь, что конфигурация <machineKey> задает тот же validationKey и проверка алгоритма. AutoGenerate не может быть использована в кластере.

?
Так что это может быть ... проверил весь скрипт тысячу раз ... серверу уходит верный запрос ... а в ответ такое ... Может быть Win 7 ???
 
Ответить с цитированием

  #1404  
Старый 05.01.2010, 19:14
1NtR0
Участник форума
Регистрация: 14.04.2007
Сообщений: 197
Провел на форуме:
1122391

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

Вроде разобрался как с соксами работать, но не хочет оно на сайт заходить, заходит только на ип сервера =\

Код:
my $sock = new Net::SOCKS(socks_addr => '123.123.123.123',
          socks_port => 9671,
          protocol_version => 5);
my $f= $sock->connect(peer_addr => '2ip.ru', peer_port => 80);
print "connect status: ",
     Net::SOCKS::status_message($sock->param('status_num')), "\n";

if ($sock->param('status_num') == SOCKS_OKAY) {
  print $f "clintdw\n";
  while (<$f>) { print }
  
  $sock->close();
}

Последний раз редактировалось 1NtR0; 05.01.2010 в 19:19..
 
Ответить с цитированием

  #1405  
Старый 05.01.2010, 20:23
cr0w
Познающий
Регистрация: 11.09.2008
Сообщений: 99
Провел на форуме:
2753780

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

1NtR0

Что значит " заходит только на ип сервера" ?
А что за херню вы посылаете заместо http-запроса?

BluR

А причем тут Perl?

Fepsis

Последнюю строку можно просто выводить без переноса строки:

Код:
perl -e"$|++; print qq($_\r) and sleep 1 for 1..20"

Последний раз редактировалось cr0w; 05.01.2010 в 20:49..
 
Ответить с цитированием

  #1406  
Старый 05.01.2010, 21:30
1NtR0
Участник форума
Регистрация: 14.04.2007
Сообщений: 197
Провел на форуме:
1122391

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

Цитата:
Сообщение от cr0w  
1NtR0

Что значит " заходит только на ип сервера" ?
А что за херню вы посылаете заместо http-запроса?

Заходит например не на ww.2ip.ru а на 188.40.74.9 (это ип адрес сервера, на котором находиться 2ip.ru)

ВОт и я незнаю что за херня, знал бы не спрашивал.. Как правильно сделать ?
 
Ответить с цитированием

  #1407  
Старый 05.01.2010, 22:06
cr0w
Познающий
Регистрация: 11.09.2008
Сообщений: 99
Провел на форуме:
2753780

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

1NtR0

Код:
print $f "GET http://2ip.ru/ HTTP/1.1\n"
    . "Host: 2ip.ru\n\n";
С HTTP-протоколом начинай знакомиться. (;
 
Ответить с цитированием

  #1408  
Старый 05.01.2010, 22:43
1NtR0
Участник форума
Регистрация: 14.04.2007
Сообщений: 197
Провел на форуме:
1122391

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

Цитата:
Сообщение от cr0w  
1NtR0

Код:
print $f "GET http://2ip.ru/ HTTP/1.1\n"
    . "Host: 2ip.ru\n\n";
С HTTP-протоколом начинай знакомиться. (;
Твой код ничего не выводит
 
Ответить с цитированием

  #1409  
Старый 06.01.2010, 00:07
krypt3r
Познавший АНТИЧАТ
Регистрация: 27.04.2007
Сообщений: 1,044
Провел на форуме:
3660186

Репутация: 905


По умолчанию

1NtR0, вооружайтесь RFC и снифером и смотрите, какие пакеты отсылаются и принимаются. Для примера работы с соксами на перле можете посмотреть Toolza от Pashkela. Там все на сокетах реализовано
 
Ответить с цитированием

  #1410  
Старый 06.01.2010, 01:55
BluR
Познающий
Регистрация: 06.08.2009
Сообщений: 56
Провел на форуме:
425261

Репутация: 29
Отправить сообщение для BluR с помощью ICQ
По умолчанию

Цитата:
Сообщение от cr0w  

BluR

А причем тут Perl?

При том что это в ответ получай perl скрипт ... хотелось бы знать не может ли быть в нём проблемы ??? может я что то недоотправляю ... как я понимаю ошибка в том что мак адрес не соответствует тому для которого сгенерированна переменная , которая в свою очередь выдергивается из страницы которую скрипт получает до этого ... да и если бы переменная была бы не верной выдавалась бы другая ошибка ...

P.s : с perl знаком от силы неделю .... поэтому и спрашиваю ...
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[c/c++] Новичкам: задаем вопросы _Great_ С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby 5421 21.04.2026 07:37
[php] Новичкам: задаем вопросы _Great_ PHP 16396 17.06.2010 21:19
Вопросы по Ipb 2.0 Voodoo_People Уязвимости CMS / форумов 26 15.02.2005 22:57



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


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




ANTICHAT.XYZ