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

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

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

  #14201  
Старый 08.01.2010, 21:31
admink1
Участник форума
Регистрация: 12.06.2009
Сообщений: 108
Провел на форуме:
1382717

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

Цитата:
Сообщение от Kusto  
То admink1 Вернулся я, держи свой cкрипт
результат вот такой:
Код:
Выводим 0 -ый раз : 
1 
2 
3 
Выводим 1 -ый раз : 
4 
5 
7 
Выводим 2 -ый раз : 
8 
9
10
блин, как я понимаю он выводит подмассивами, а некаждую строку отдельно.
ps нужно чтоб вывел вначале 1, потом 2, 3. при следующем повторе цикла вначале 4, потом 5, 6
спасибо, и сорри за настойчивость
 
Ответить с цитированием

  #14202  
Старый 08.01.2010, 21:41
b3
Постоянный
Регистрация: 05.12.2004
Сообщений: 647
Провел на форуме:
1698585

Репутация: 818


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

Цитата:
Есть у когонить пример авторизации на Yandex.ru ?
Когда-то писал, сейчас незнаю работает или нет, проверь.

PHP код:
function login($login,$pass)
{

$ch curl_init('https://passport.yandex.ru/passport?mode=auth');
curl_setopt($chCURLOPT_USERAGENT'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3');
curl_setopt($chCURLOPT_REFERER'https://passport.yandex.ru/passport?mode=auth');
curl_setopt($chCURLOPT_COOKIEJAR$_SERVER['DOCUMENT_ROOT'].'cook.txt');
curl_setopt($chCURLOPT_POST1);
curl_setopt($chCURLOPT_POSTFIELDS"login=$login&passwd=$pass");
curl_setopt($chCURLOPT_TIMEOUT10);
curl_setopt($chCURLOPT_FOLLOWLOCATION1);
curl_setopt($chCURLOPT_RETURNTRANSFER1);
curl_setopt($chCURLOPT_SSL_VERIFYPEER0);
$res curl_exec($ch);
if(
preg_match('#https:\/\/passport\.yandex.ru\/passport\?mode=logout#',$res))
return 
true;    

 
Ответить с цитированием

  #14203  
Старый 08.01.2010, 21:44
Kusto
Moderator - Level 7
Регистрация: 04.02.2007
Сообщений: 554
Провел на форуме:
7518056

Репутация: 1089


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

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


блин, как я понимаю он выводит подмассивами, а некаждую строку отдельно.
ps нужно чтоб вывел вначале 1, потом 2, 3. при следующем повторе цикла вначале 4, потом 5, 6
спасибо, и сорри за настойчивость
если честно- я ничего непонял область применения что хочеш, опиши подробнее- вернусь- попробую помоч если пойму что требуеться
и прекращайте пользоваться count намного проще организовываеться цикл до тех пор пока в файле невстретиться конец файла ну типа такого while(!feof($k))

Последний раз редактировалось Kusto; 08.01.2010 в 21:48..
 
Ответить с цитированием

  #14204  
Старый 08.01.2010, 22:08
admink1
Участник форума
Регистрация: 12.06.2009
Сообщений: 108
Провел на форуме:
1382717

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

Цитата:
Сообщение от Kusto  
если честно- я ничего непонял область применения что хочеш, опиши подробнее- вернусь- попробую помоч если пойму что требуеться
и прекращайте пользоваться count намного проще организовываеться цикл до тех пор пока в файле невстретиться конец файла ну типа такого while(!feof($k))

есть текстовик со следующим содержимым:
1
2
3
4
5
6
..etc

мне нужно чтоб заходил в текстовик выдергивал первую строчку(то есть цифру 1) и заходил по ссылке, допустим ttp://vkontakte.ru/id1 , потом брал вторую строчку(цифру 2), заходил на ttp://vkontakte.ru/id2, потом заходил ttp://vkontakte.ru/id3 и здесь цикл заканичвал свою работу и начинает работать другой цикл, ну после того как вновь вернемся к нашему циклу он выполнил ту же операцию, но уже начиная с четвертой строчкой(цифра 4), то есть совершил по очереди переходы:
ttp://vkontakte.ru/id4
ttp://vkontakte.ru/id5
ttp://vkontakte.ru/id6
и закончил свою работу.
 
Ответить с цитированием

  #14205  
Старый 08.01.2010, 22:16
Maxxxtri23
Познающий
Регистрация: 20.12.2008
Сообщений: 76
Провел на форуме:
432982

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

PHP код:
<?php

    $port 
10001;
    
    
// create a streaming socket, of type TCP/IP
    
$sock socket_create(AF_INETSOCK_STREAMSOL_TCP);
    
    
// set the option to reuse the port
    
socket_set_option($sockSOL_SOCKETSO_REUSEADDR1);
    
    
// "bind" the socket to the address to "localhost", on port $port
    // so this means that all connections on this port are now our resposibility to send/recv data, disconnect, etc..
    
socket_bind($sock0$port);
    
    
// start listen for connections
    
socket_listen($sock);

    
// create a list of all the clients that will be connected to us..
    // add the listening socket to this list
    
$clients = array($sock);
    
    while (
true) {
        
// create a copy, so $clients doesn't get modified by socket_select()
        
$read $clients;
        
        
// get a list of all the clients that have data to be read from
        // if there are no clients with data, go to next iteration
        
if (socket_select($read$write NULL$except NULL0) < 1)
            continue;
        
        
// check if there is a client trying to connect
        
if (in_array($sock$read)) {
            
// accept the client, and add him to the $clients array
            
$clients[] = $newsock socket_accept($sock);
            
            
// send the client a welcome message
            
socket_write($newsock"Hello, this is welcome message\n".
            
"There are ".(count($clients) - 1)." client(s) connected to the server\n");
            
            
socket_getpeername($newsock$ip);
            echo 
"New client connected: {$ip}\n";
            
            
// remove the listening socket from the clients-with-data array
            
$key array_search($sock$read);
            unset(
$read[$key]);
        }
        
        
// loop through all the clients that have data to read from
        
foreach ($read as $read_sock) {
            
// read until newline or 1024 bytes
            // socket_read while show errors when the client is disconnected, so silence the error messages
            
$data = @socket_read($read_sock1024PHP_NORMAL_READ);
            
            
// check if the client is disconnected
            
if ($data === false) {
                
// remove client for $clients array
                
$key array_search($read_sock$clients);
                unset(
$clients[$key]);
                echo 
"client disconnected.\n";
                
// continue to the next client to read from, if any
                
continue;
            }
            
            
// trim off the trailing/beginning white spaces
            
$data trim($data);
            
            
// check if there is any data after trimming off the spaces
            
if (!empty($data)) {
            
                
// send this to all the clients in the $clients array (except the first one, which is a listening socket)
                
foreach ($clients as $send_sock) {
                
                    
// if its the listening sock or the client that we got the message from, go to the next one in the list
                    
if ($send_sock == $sock || $send_sock == $read_sock){
                        
//continue;
                        
if ($data == 'shutdown') {             
                        
socket_write($send_sock"Ololo"."\n");
                        }
                    
                    }
                    
// write the message to the client -- add a newline character to the end of the message
                    //socket_write($send_sock, $data."\n");
                    //echo($data."\n");
                    
                
// end of broadcast foreach
              
echo($data."\n");  
             
// if ($data == 'shutdown') {             
             // socket_write($send_sock, "Ololo"."\n");
              //}
            
}
            
        } 
// end of reading foreach
    
}

    
// close the listening socket
    
socket_close($sock);
?>
Почему если я с какого либо клиента отсылаю shutdown, то пишет:
Код:
Warning: socket_write(): unable to write to socket [0]: ╟ряЁюё эр юЄяЁртъє шыш я
юыєўхэшх фрээ√ї  (when sending on a datagram socket using a sendto call) no addr
ess was supplied.
 in D:\xampp\htdocs\test2.php on line 77
Однако сообщение Ololo приходит. Мне надо чтобы я с 1 клиента отсылал например сообщение shutdown, а скрипт мне в ответ слал Ololo, т.е. чтобы Ololo приходило тому клиенту кто отсылает скрипту shutdown и только ему.
P.S. выручайте новичка, с меня +
Если надо, то вот оригинальный скрипт:
PHP код:
<?php

    $port 
9050;
    
    
// create a streaming socket, of type TCP/IP
    
$sock socket_create(AF_INETSOCK_STREAMSOL_TCP);
    
    
// set the option to reuse the port
    
socket_set_option($sockSOL_SOCKETSO_REUSEADDR1);
    
    
// "bind" the socket to the address to "localhost", on port $port
    // so this means that all connections on this port are now our resposibility to send/recv data, disconnect, etc..
    
socket_bind($sock0$port);
    
    
// start listen for connections
    
socket_listen($sock);

    
// create a list of all the clients that will be connected to us..
    // add the listening socket to this list
    
$clients = array($sock);
    
    while (
true) {
        
// create a copy, so $clients doesn't get modified by socket_select()
        
$read $clients;
        
        
// get a list of all the clients that have data to be read from
        // if there are no clients with data, go to next iteration
        
if (socket_select($read$write NULL$except NULL0) < 1)
            continue;
        
        
// check if there is a client trying to connect
        
if (in_array($sock$read)) {
            
// accept the client, and add him to the $clients array
            
$clients[] = $newsock socket_accept($sock);
            
            
// send the client a welcome message
            
socket_write($newsock"no noobs, but ill make an exception :)\n".
            
"There are ".(count($clients) - 1)." client(s) connected to the server\n");
            
            
socket_getpeername($newsock$ip);
            echo 
"New client connected: {$ip}\n";
            
            
// remove the listening socket from the clients-with-data array
            
$key array_search($sock$read);
            unset(
$read[$key]);
        }
        
        
// loop through all the clients that have data to read from
        
foreach ($read as $read_sock) {
            
// read until newline or 1024 bytes
            // socket_read while show errors when the client is disconnected, so silence the error messages
            
$data = @socket_read($read_sock1024PHP_NORMAL_READ);
            
            
// check if the client is disconnected
            
if ($data === false) {
                
// remove client for $clients array
                
$key array_search($read_sock$clients);
                unset(
$clients[$key]);
                echo 
"client disconnected.\n";
                
// continue to the next client to read from, if any
                
continue;
            }
            
            
// trim off the trailing/beginning white spaces
            
$data trim($data);
            
            
// check if there is any data after trimming off the spaces
            
if (!empty($data)) {
            
                
// send this to all the clients in the $clients array (except the first one, which is a listening socket)
                
foreach ($clients as $send_sock) {
                
                    
// if its the listening sock or the client that we got the message from, go to the next one in the list
                    
if ($send_sock == $sock || $send_sock == $read_sock)
                        continue;
                    
                    
// write the message to the client -- add a newline character to the end of the message
                    
socket_write($send_sock$data."\n");
                    
                } 
// end of broadcast foreach
                
            
}
            
        } 
// end of reading foreach
    
}

    
// close the listening socket
    
socket_close($sock);
?>
 
Ответить с цитированием

  #14206  
Старый 08.01.2010, 23:06
Gifts
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
Провел на форуме:
2769640

Репутация: 1304


По умолчанию

Maxxxtri23 Все ж подписано и каждая строчка прокомментирована >.<

Проблема тут: if ($send_sock == $sock || $send_sock == $read_sock) Скрипт просматривает все сокеты из массива и ищет два: сокет, который принимает новых пользователей и собственно отправителя текущего сообщения. Условия следует разделить - сокет для принятия всегда пропускать. А отправителю слать соответствующее сообщение
PHP код:
if ($send_sock $sock) continue;
if (
$send_sock $read_socksocket_write($send_sock"olololo\n"); 
Kusto Накладные расходы (памяти/процессора) на подсчет количества элементов в массиве - меньше (естественно, если не загонять подсчет в условие окончания цикла), чем использование foreach

admink1 Либо вы несете чушь и сами не понимаете чего хотите, либо не формулируете до конца задачу. Зачем использовать вложенные циклы, если можно последовательно считывать и обращаться к соответствующим страницам? В чем принципиальная важность второго цикла?
__________________
Любая действущая программа устарела.
Создайте систему, которой сможет пользоваться даже дурак ,и только дурак захочет ею пользоваться.
Как правильно задавать вопросы: _http://www.yakimchuk.ru/questions.htm

Последний раз редактировалось Gifts; 08.01.2010 в 23:20..
 
Ответить с цитированием

  #14207  
Старый 08.01.2010, 23:48
Kusto
Moderator - Level 7
Регистрация: 04.02.2007
Сообщений: 554
Провел на форуме:
7518056

Репутация: 1089


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

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

мне нужно чтоб заходил в текстовик выдергивал первую строчку(то есть цифру 1) и заходил по ссылке, допустим ttp://vkontakte.ru/id1 , потом брал вторую строчку(цифру 2), заходил на ttp://vkontakte.ru/id2, потом заходил ttp://vkontakte.ru/id3 и здесь цикл заканичвал свою работу и начинает работать другой цикл, ну после того как вновь вернемся к нашему циклу он выполнил ту же операцию, но уже начиная с четвертой строчкой(цифра 4), то есть совершил по очереди переходы:
ttp://vkontakte.ru/id4
ttp://vkontakte.ru/id5
ttp://vkontakte.ru/id6
и закончил свою работу.
так в чем проблемма? то-же самое практически
PHP код:
<?php 
$k 
file('name.txt');
$a=array_chunk($k,3); 
foreach (
$a as $c => $d){
echo 
" </br>цикл работает $c -ый раз : </br></br>"
foreach (
$d as $f) echo "  суперссылкавконтакта и id=$f   </br>  "
  

?>
вот результат его работы

цикл работает 0 -ый раз :

суперссылкавконтакта и id= 25
суперссылкавконтакта и id=456
суперссылкавконтакта и id=789

цикл работает 1 -ый раз :

суперссылкавконтакта и id=425
суперссылкавконтакта и id=456
суперссылкавконтакта и id=7851

цикл работает 2 -ый раз :

суперссылкавконтакта и id=54698
суперссылкавконтакта и id=52145
суперссылкавконтакта и id=25469

цикл работает 3 -ый раз :

суперссылкавконтакта и id=58742
суперссылкавконтакта и id=87542
суперссылкавконтакта и id=12458

цикл работает 4 -ый раз :

суперссылкавконтакта и id=12458

Последний раз редактировалось Kusto; 08.01.2010 в 23:50..
 
Ответить с цитированием

  #14208  
Старый 09.01.2010, 01:08
admink1
Участник форума
Регистрация: 12.06.2009
Сообщений: 108
Провел на форуме:
1382717

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

Цитата:
Сообщение от Gifts  
admink1 Либо вы несете чушь и сами не понимаете чего хотите, либо не формулируете до конца задачу. Зачем использовать вложенные циклы, если можно последовательно считывать и обращаться к соответствующим страницам? В чем принципиальная важность второго цикла?

полная задача такова:
1. нужно выдернуть акк из файла.
2. залогиниться.
3. выдернуть из другого текстовика три первые ссылки(1,2,3 строчки)
4. по очереди пройтись по этим трем ссылкам и написать текст.
5. поменять акк
6. залогинится
7. и вновь выдернть из текстовика три последующие ссылки(4,5,6 строчки) и написать текст.

//сделал все , кроме 7ого пункта, получается что всегда по всему файлу проходится, а как хотелось бы не получается
 
Ответить с цитированием

  #14209  
Старый 09.01.2010, 01:13
REBUUS
Постоянный
Регистрация: 06.04.2009
Сообщений: 383
Провел на форуме:
1288105

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

PHP код:
<object width="425" height="344">
<
param name="movie" value="http://www.youtube.com/v/1bOqXOTYeh8&hl=ru_RU&fs=1&rel=0"></param>
<
param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param>
<
embed src="http://www.youtube.com/v/1bOqXOTYeh8&hl=ru_RU&fs=1&rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed>
</
object
а вариант не перегружая страницу видео из ютуб менять при нажатие на ссылку скриптом ява или пхп , какой ни будь функцией, на пример:
<a href="domen/video/" onClick="video(url);"> ссылка</a>


фотки могу так менять , а вот с видео проблемка

Последний раз редактировалось REBUUS; 09.01.2010 в 01:21..
 
Ответить с цитированием

  #14210  
Старый 09.01.2010, 01:24
Kusto
Moderator - Level 7
Регистрация: 04.02.2007
Сообщений: 554
Провел на форуме:
7518056

Репутация: 1089


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

Цитата:
Сообщение от admink1  
полная задача такова:
1. нужно выдернуть акк из файла.
2. залогиниться.
3. выдернуть из другого текстовика три первые ссылки(1,2,3 строчки)
4. по очереди пройтись по этим трем ссылкам и написать текст.
5. поменять акк
6. залогинится
7. и вновь выдернть из текстовика три последующие ссылки(4,5,6 строчки) и написать текст.

//сделал все , кроме 7ого пункта, получается что всегда по всему файлу проходится, а как хотелось бы не получается
сразу говорю этот скрипт я не проверял- но в таком виде должно пахать (как я понял у тя два текста в одном логины и пароли в другом айди)
PHP код:
<?php  
$k 
file('id.txt'); 
$xfile('name.txt'); 
$a=array_chunk($k,3);  
foreach (
$a as $c => $d){ 
echo 
" </br> $x[$c] дернули первый акк и залогинились</br></br>";  
foreach (
$d as $f) echo "  суперссылкавконтакта и id=$f   </br>  ";  
   
}
?>
там где строчка
PHP код:
echo " </br> $x[$c] дернули первый акк и залогинились</br></br>"
можеш вставлять людые действия (логиниться, и т д)
а в этой строчке
PHP код:
foreach ($d as $f) echo "  суперссылкавконтакта и id=$f   </br>  "
отправляй сообщения и т д)
И дай ответ работает или нет? (и пускай тебя foreach несмущает- внутри него тоже можно производить любые операции как в любом- другом цикле)

Я непойму что тебя смущало в предыдущих вариантах- практически они все были рабочие просто я по мере твоих обьяснений добавлял все новое и новое, лично я как бы сделал
- составил функцию и внутри циклов бы ее вызывал, я вообще невижу никаких проблемм (непойму что тебя смущает в предложенныхвариантах)

Последний раз редактировалось Kusto; 09.01.2010 в 03:34..
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[c/c++] Новичкам: задаем вопросы _Great_ С/С++, C#, Delphi, .NET, Asm 5420 17.06.2010 13:33
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости 4 07.07.2006 16:53
Вопросы по Ipb 2.0 Voodoo_People Форумы 26 15.02.2005 22:57



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


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




ANTICHAT.XYZ